【发布时间】:2021-07-06 16:22:29
【问题描述】:
我已将云调度程序连接到我的项目并准备好每天运行。我有数据附加到我想每天更新的用户。
likesforday
uid1
-Amount : 43
uid2
-Amount : 567
我需要将所有数量设置为 0。
我可以正确更新一条记录,但我不知道如何更新实时数据库中的每个用户。我还希望它是一个原子更新,所以要么是所有用户,要么没有。
有很多关于使用 onWrite onCreate 等的指南...但我需要 scheduler.onRun 每天更新所有数量。
我尝试过类似的方法
exports.resetdailytaps = functions.pubsub
.schedule("every day 00:00")
.onRun(async () => {
console.log("starting");
let updates = {};
let qu = database.ref(`/likesforday/{uid}`).orderByChild("amount");
const snap = await qu.once("value");
snap.forEach((child) => {
updates[child.key] = 0;
console.log("childkey: " + child);
});
return database.ref().update(updates);
和其他变体,但无法使其工作。
谢谢!
【问题讨论】:
标签: firebase firebase-realtime-database google-cloud-firestore google-cloud-functions google-cloud-scheduler