Как я могу обновить документ, найденный в запросе? - PullRequest
0 голосов
/ 07 февраля 2019

Я хочу обновить документ, найденный по запросу.На самом деле я пробую следующий подход:

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 это success , хотя ничего не обновляется и Джондействительно существует в Cloud Firestore.

Что я делаю не так?

PS: Я не знаю, имеет ли это значение, но прежде чем я на самом деле пытаюсь обновить, я звоню query.get() просто чтобы проверитьесли что-то существует (и после того, как я называю этот подход обновлением).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...