另一个键的Firebase设置值



我有一个firebase函数,它将两个值设置为零。有没有办法设置lastdaily的值?无论点击"设置前是否点击为0?

exports.dailyReset = functions.pubsub.schedule("01 0 * * *")
.timeZone("Europe/London")
.onRun((context) => {
dbCon.once("value", function(snapshot) {
snapshot.forEach(function(child) {
child.ref.update({
lastDaily: 0,
click: 0,
});
});
});
});

下面的代码应该可以达到这个效果(未经测试):

exports.dailyReset = functions.pubsub.schedule("01 0 * * *")
.timeZone("Europe/London")
.onRun(async (context) => {

const snapshot = await dbCon.get();

const promises = [];

snapshot.forEach(child => {
const oldClickValue = child.val().lastDaily;
promises.push(child.ref.update({
lastDaily: oldClickValue,
click: 0,
}));
})

return Promise.all(promises);

});

注意,我们使用Promise.all()是为了在所有异步工作完成时返回一个Promise。出于同样的原因,请注意我们使用了get()方法,它返回一个Promise。


另一个解决方案,而不是Promise.all(),将使用update()方法,如本文档部分所示。

相关内容

  • 没有找到相关文章

最新更新