1.1.1 • Published 2 years ago

botfriends-firestore-sdk v1.1.1

Weekly downloads
4
License
ISC
Repository
gitlab
Last release
2 years ago

Initialize your database with it

Initialization

  1. With one project
const serviceAccount = {
  "type": "sa",
  "project_id": "pi",
  "private_key_id": "pki",
  "private_key": "pk",
  "client_email": "ce",
  "client_id": "ci",
  ...
}
const fsClient = new FirestoreClient({
  projectId: serviceAccount.project_id,
  privateKey: serviceAccount.private_key,
  clientEmail: serviceAccount.client_email
})
  1. With multiple projects If you initialize your firestore client with more than one project, you need to add a database identifier to the initialization. In the following example these are: db1 and db2. To the functions you just need to a the database identifier as last parameter to ensure you are using the right database.
const fsClient = new FirestoreClient([{
  identifier: 'db1',
  serviceAccount: --structured like above--
}, {
  identifier: 'db2',
  serviceAccount: --structured like above--
}])

Examples

getDatabase

This function returns the reference to the database object. You can use this to create user-defined queries.

const database = fsClient.getDatabase()

createDoc

This function will create a firestore document and returns the id of the created document.

const docId = fsClient.createDoc('test', {
  i: 'am',
  a: 'test'
})

getAllDocs

This function will return all documents for a collection.

const result = await fsClient.getAllDocs('test')

getDoc

This function will return a document for an id.

const result = await fsClient.getDoc('test', docId)

getDocs

This function will return the documents for an array of document ids.

const result = await fsClient.getDocs('test', [docId, 'testDoc'])

upsertDoc

This function will create a newn document with the given id. If a document with this id already exists it will update it.

const result = await fsClient.upsertDoc('test', 'testDoc', {
  i: 'am',
  another: 'test'
})

updateDoc

This function will update a document and return the timestamp when it finished.

const result = await fsClient.updateDoc('test', 'testDoc', {
  i: 'am a nice test'
})

getDocWithFilter

This function will return a document which fits to a given filter. In SQL we would talk about some 'WHERE' clauses.

const filterParams = {
  fieldPath: 'i',
  opStr: '==',
  value: 'am not'
}
const result = await fsClient.getDocWithFilter('test', filterParams)

getDocWithMultipleFilters

This function will return documents which fits to the given filters. In SQL we would talk about some 'WHERE' clauses.

const filters = [ { fieldPath: 'i' , opStr: '==', value: 'am not' } , { fieldPath: 'y' , opStr: '==', value: 'cool' } ]

const result = await fsClient.getDocsWithMultipleFilters('test', filters)

deleteDoc

This function will delete a document. There is no return value.

await fsClient.deleteDoc('test', 'testDoc')
1.1.1

2 years ago

1.1.0

2 years ago

1.0.9

2 years ago

1.0.10

2 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago