0.0.44 • Published 4 years ago

@qonsoll/lddb-js-sdk v0.0.44

Weekly downloads
-
License
ISC
Repository
github
Last release
4 years ago

LDDB javascript SDK (@qonsoll/lddb-js-sdk)

Installation

  npm install --save @qonsoll/lddb-js-sdk

or

  yarn add @qonsoll/lddb-js-sdk

Initializing

  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
0.0.40

4 years ago

0.0.41

4 years ago

0.0.42

4 years ago

0.0.20

4 years ago

0.0.43

4 years ago

0.0.21

4 years ago

0.0.44

4 years ago

0.0.22

4 years ago

0.0.23

4 years ago

0.0.24

4 years ago

0.0.25

4 years ago

0.0.37

4 years ago

0.0.15

4 years ago

0.0.38

4 years ago

0.0.16

4 years ago

0.0.39

4 years ago

0.0.17

4 years ago

0.0.18

4 years ago

0.0.19

4 years ago

0.0.30

4 years ago

0.0.31

4 years ago

0.0.32

4 years ago

0.0.10

4 years ago

0.0.33

4 years ago

0.0.11

4 years ago

0.0.34

4 years ago

0.0.12

4 years ago

0.0.35

4 years ago

0.0.13

4 years ago

0.0.36

4 years ago

0.0.14

4 years ago

0.0.26

4 years ago

0.0.9

4 years ago

0.0.27

4 years ago

0.0.8

4 years ago

0.0.28

4 years ago

0.0.29

4 years ago

0.0.5

4 years ago

0.0.4

4 years ago

0.0.7

4 years ago

0.0.6

4 years ago

0.0.1

4 years ago