is it possible to set values with firebase cloud function that includes a where clause?
E.g
admin.firebase.firestore().collection('Accounts').where("imagePathName", '==', docNamed).set({
original: 'trial'
});
this is giving me an error.
is it possible to set values with firebase cloud function that includes a where clause?
E.g
admin.firebase.firestore().collection('Accounts').where("imagePathName", '==', docNamed).set({
original: 'trial'
});
this is giving me an error.
You can call set() to create or update a document represented by a DocumentReference type object.
A query doesn't have a set method. You would instead have to obtain all the documents from the Query using get() to obtain a QuerySnapshot, iterate that, then call set() on each document individually.
I just want to add this to the answer of Doug Stenvenson.
Once you get your querySnapshot
with something like: admin.firestore().collection('Accounts').where("imagePathName", '==', docNamed).get();
)
The following code didn't update all the documents as I would (but only one):
querySnapshot.forEach(async doc => {
await doc.ref.update(newData);
});
What I had to do instead to make it work was:
for (const doc of querySnapshot.docs) {
await doc.ref.update(newData);
}
© 2022 - 2024 — McMap. All rights reserved.