【发布时间】:2018-01-02 03:07:01
【问题描述】:
每次在我的 Firestore 数据库中发生特定写入时,我都会运行以下函数。计数器会按原样更新,如果我检查实时数据库中的值,它会显示正确的值。但是,如果我在 then() 中查询值,它总是返回 1。如果我将事务更改为总是将计数器增加 3,那么它返回 3。我做错了什么?
exports.someFunc = functions.firestore.document("/statistics/{userId}/postStats/{postId}/views/{user}/views/{view}").onCreate((event) => {
const userId = event.params.userId
const postId = event.params.postId
return admin.database().ref(`/statistics/${userId}/${postId}/views`).transaction(function(current) {
return current + 1;
}).then(admin.database().ref(`/statistics/${userId}/${postId}/views`).once('value').then(function(snapshot) {
console.log(snapshot.val())
);
});
【问题讨论】:
标签: firebase firebase-realtime-database google-cloud-functions google-cloud-firestore firebase-admin