Dav
Dav

Reputation: 19

Perform operations directly on database (esp. Firestore)

Just a question regarding NoSQL DB. As far as I know, operations are done by the app/website outside the DB. For instance, if I need to add an value to a list, I need to

  1. download the intial list
  2. add the new value in the list on my device
  3. upload the whole updated list.

At the end, a lot of data is travelling (twice the initial list) with no added value.

Is there any way to request directly the DB for simple operations like this?

db.collection("collection_key").document("document_key").add("mylist", value)

Or simply increment a field?

Same for knowing the number of documents in a collection: is it needed to download the whole set of document to get the number ?

Upvotes: 0

Views: 38

Answers (1)

LeadDreamer
LeadDreamer

Reputation: 3499

Couple different answers:

In Firestore, many intrinsic operations can be done "FieldValues", such as increment/decrement (by supplied value, so really Add/subtract). Also array unions, field deletes, etc. Just search the documentation for FieldValue. Whether this is true for NoSQL in general, I can't say.

Knowing the number of documents, on the other hand. is not trivially done in Firestore - but frankly, I can't think of any situations other than artificially contrived examples where you would need to know. Easy enough to setup ways to "count" documents as you create/delete them, and keep that separately, if for some reason you find yourself needing it.

Or were you just trying to generically put down NoSQL as a concept?

Upvotes: 2

Related Questions