@qonsoll/lddb-js-sdk
v0.0.44
Published
## Installation
Maintainers
Keywords
Readme
LDDB javascript SDK (@qonsoll/lddb-js-sdk)
Installation
npm install --save @qonsoll/lddb-js-sdkor
yarn add @qonsoll/lddb-js-sdkInitializing
import lddb from '@qonsoll/lddb-js-sdk'
const db = lddb.initialize({ databaseUrl: 'http://localhost:3000/lddb' })How to use?
Save document to the database
const newId = db.id(); // Get unique id for the new document
db.collection('users').doc(newId).set({ name: 'User name' })With subcollection
const newUserId = db.id(); // Get unique id for the new document
const newSkillId = db.id()
db.collection('users').doc(newId).collection('skills').doc(newSkillId).set({ name: 'Javascript' })or
const newUserId = db.id(); // Get unique id for the new document
const newSkillId = db.id()
db.collection(`users/${newId}/skills`).doc(newSkillId).set({ name: 'Javascript' })or
const newUserId = db.id(); // Get unique id for the new document
const newSkillId = db.id()
db.doc(`users/${newId}/skills/${newSkillId}`).set({ name: 'Javascript' })Update document
db.collection('users').doc('<documentIdHere>').update({ name: 'New user name' })Delete document
db.collection('users').doc('<documentIdHere>').delete()Get collection
db.collection('users').get()Get document
db.collection('users').doc('<documentIdHere>').get()Order by
db.collection('users').orderBy('age', 'asc').get()or
db.collection('users').orderBy('age', 'asc').orderBy('index', 'desc').get()Filter
You can apply any rule from the list: <, >, <=, ==, >=, !=, array-contains, array-contains-any, in, not-in
db.collection('users').where('age', '>', 30).orderBy('age', 'asc').get()or
db.collection('users').where('age', '>', 30).where('city', '==', 'Khmelnitskii').get()or
db.collection('users').where([['age', '>', 30], ['city', '==', 'Khmelnitskii']]).get()Filter by text
db.collection('users').where('name', 'string-contains', 'ole').get()Limit and pagination
db.collection('users').where('age', '>', 30).limit(10).page(1).get()Listen for realtime updates (collection)
db.collection('users').onSnapshot((snapshot) => {
const prev = snapshot.prev;
const docs = snapshot.docs;
})or using any type of filter
db.collection('users').where('age', '>', 25).onSnapshot((snapshot) => {
const prev = snapshot.prev;
const docs = snapshot.docs;
})Listen for realtime updates (document)
db.collection('users').doc('someId').onSnapshot((snapshot) => {
const prev = snapshot.prev;
const data = snapshot.data;
})Unsubscribe from listening DB
const unsubscribe = db.collection('users').doc('someId').onSnapshot((snapshot) => {
const prev = snapshot.prev;
const data = snapshot.data;
})
unsubscribe() // this method will unsubscribe from the watcher