我想更新查询找到的文档。实际上,我正在尝试以下方法:
export const add_user = functions.https.onRequest((request, response) => {
corsHandler(request, response, () => {
const collectionReference = db.collection("users");
const query = collectionReference.where("name", "==", "John");
fbid_query.get()
.then(function(querySnapshot) {
if (querySnapshot.empty) {
console.log("John notfound");
} else {
console.log("John found!");
querySnapshot.forEach(function (documentSnapshot) {
add_update(query, "George");
});
}
response.json([]);
})
.catch(function(error) {
response.json([]);
});
});
});
。
const add_update = function (query, new_name) {
query.get(function(querySnapshot) {
querySnapshot.forEach(function(document) {
console.log("entered in forEach");
document.ref.update({
name: new_name
});
});
}).then(function () {
console.log("success");
})
.catch(function(error) {
console.error("error: ", error);
});
}
出现的唯一console.log
是成功,尽管没有任何更新,并且约翰确实在Cloud Firestore中存在。
我在做什么错了?
PS:我不知道这是否重要,但是在我实际尝试更新之前,我打电话给query.get()
只是为了检查是否存在某些东西(在我称之为更新方法之后)。