Фактически, sfDocRef
- это не DocumentReference
, а Query
.
Вы должны выполнить запрос сасинхронный метод get()
и для каждого документа, возвращенного этим запросом, добавьте его в пакет.Следующий фрагмент кода поможет:
var batch = db.batch();
var sfRe = db.collection("country").doc("SF");
var sfDocQuery = db.collection("cities").where("state", "==", "boston");
sfDocQuery.get().then(querySnapshot => {
querySnapshot.forEach(doc => {
batch.update(doc.ref, { "state": NewName });
});
//......
batch.update(sfRe, {"state": NewName}); //This one will work, since sfRe is a DocumentReference
//......
return batch.commit()
})
.then(() => {
//The commit() method is asynchronous and returns a Promise
//return for your Save function
})