如何更新查询中找到的文档?

时间:2019-02-07 20:19:21

标签: firebase google-cloud-firestore google-cloud-functions

我想更新查询找到的文档。实际上,我正在尝试以下方法:

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()只是为了检查是否存在某些东西(在我称之为更新方法之后)。

0 个答案:

没有答案