davideast / Querybase
Licence: apache-2.0
Bringing the where statement to the Firebase Database.
Stars: ✭ 455
Programming Languages
typescript
32286 projects
Projects that are alternatives of or similar to Querybase
Salada
Firebase model framework Salada. Salada is the best Firebase framework.
Stars: ✭ 228 (-49.89%)
Mutual labels: firebase, firebase-database
Nora
Nora is a Firebase abstraction layer for FirebaseDatabase and FirebaseStorage
Stars: ✭ 270 (-40.66%)
Mutual labels: firebase, firebase-database
Angularmaterialfirebase
🔥 Full stack starter app with Angular 8, Material Design and Firebase (+ demo)
Stars: ✭ 229 (-49.67%)
Mutual labels: firebase, firebase-database
Firebase Authentication Dotnet
C# library for Firebase Authentication
Stars: ✭ 222 (-51.21%)
Mutual labels: firebase, firebase-database
Firebase Mock
Firebase mock library for writing unit tests
Stars: ✭ 319 (-29.89%)
Mutual labels: firebase, firebase-database
Firebase Esp8266
ESP8266 Firebase RTDB Arduino Library
Stars: ✭ 228 (-49.89%)
Mutual labels: firebase, firebase-database
React Redux Firebase Authentication
🔥Boilerplate Project for Authentication with Firebase in React and Redux
Stars: ✭ 265 (-41.76%)
Mutual labels: firebase, firebase-database
Expo Native Firebase
🔥 Native Firebase Expo App (iOS, Android) Demo for Firestore, Notifications, Analytics, Storage, Messaging, Database 🚨
Stars: ✭ 197 (-56.7%)
Mutual labels: firebase, firebase-database
Mechahamster
Mecha Hamster is a game where you roll through customizable environments that you can share with your friends.
Stars: ✭ 314 (-30.99%)
Mutual labels: firebase, firebase-database
Internalappstore
📦 Manage your own internal Android App Store.
Stars: ✭ 295 (-35.16%)
Mutual labels: firebase, firebase-database
Fcm Toolbox
📲 Firebase Cloud Messaging toolbox
Stars: ✭ 217 (-52.31%)
Mutual labels: firebase, firebase-database
Firebase Admin Java
Firebase Admin Java SDK
Stars: ✭ 345 (-24.18%)
Mutual labels: firebase, firebase-database
Firebase Kotlin Sdk
A Kotlin-first SDK for Firebase
Stars: ✭ 214 (-52.97%)
Mutual labels: firebase, firebase-database
Laravel Firebase
A Laravel package for the Firebase PHP Admin SDK
Stars: ✭ 369 (-18.9%)
Mutual labels: firebase, firebase-database
Firebase Esp32
ESP32 Firebase RTDB Arduino Library
Stars: ✭ 204 (-55.16%)
Mutual labels: firebase, firebase-database
Firebase Ios Sdk
Firebase iOS SDK
Stars: ✭ 3,309 (+627.25%)
Mutual labels: firebase, firebase-database
React Firebase
🔥Declarative React bindings for Firebase Auth & Realtime Database.
Stars: ✭ 176 (-61.32%)
Mutual labels: firebase, firebase-database
Vue Trello
Trello clone with Vue.js for educational purposes
Stars: ✭ 185 (-59.34%)
Mutual labels: firebase, firebase-database
Vuejs Firebase Shopping Cart
Shopping cart demo using Vuejs and Firebase
Stars: ✭ 274 (-39.78%)
Mutual labels: firebase, firebase-database
Firebase Js Sdk
Firebase Javascript SDK
Stars: ✭ 3,844 (+744.84%)
Mutual labels: firebase, firebase-database
Bringing the .where()
statement to the Firebase Database
Querybase is in an experiment and not for production apps/sites/anything.
Cloud Firestore makes this library irrelevant as it has much more complex querying.
What is Querybase?
- .where() - Find records by up to three fields.
- No client-side filtering - Querybase genererates composite keys to provide querying on multiple fields.
-
Simple Query API - Use common query methods such as
.greaterThan()
,.lessThan()
, and.startsWith()
. - Lightweight - 1.87 kB (gzipped)
Install
npm install querybase --save
Use via unpkg
<script src="https://unpkg.com/[email protected]"></script>
Example usage
Querybase takes a Firebase Database reference with a list of fields to create composite keys. You can only use up to three fields. Any more would create a crazy amount of composite keys in the database.
Querying using multiple fields
const databaseRef = firebase.database().ref().child('people');
const querybaseRef = querybase.ref(databaseRef, ['name', 'age', 'location']);
// Automatically handles composite keys
querybaseRef.push({
name: 'David',
age: 27,
location: 'SF'
});
// Find records by multiple fields
// returns a Firebase Database ref
const queriedDbRef = querybaseRef
.where({
name: 'David',
age: 27
});
// Listen for realtime updates
queriedDbRef.on('value', snap => console.log(snap));
Querying using one field
Querybase also provides rich querying methods for single fields.
const databaseRef = firebase.database.ref().child('people');
const querybaseRef = querybase.ref(databaseRef, []);
// Querybase for single criteria, returns a Firebase Ref
querybaseRef.where({ name: 'David'});
// Querybase for a single string criteria, returns
// a QuerybaseQuery, which returns a Firebase Ref
querybaseRef.where('name').startsWith('Da');
querybaseRef.where('age').lessThan(30);
querybaseRef.where('age').greaterThan(20);
querybaseRef.where('age').between(20, 30);
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].