【发布时间】:2017-08-07 16:50:37
【问题描述】:
我只是在试用 Cloud Functions for Firebase,以便将我的 firebase-queue 工作人员转移到云功能。每当我在给定的 ref 创建一个新节点时,我添加了一个简单的函数来添加最后更新的时间戳。函数如下所示:
var functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.setLastUpdatedTimestamp = functions.database.ref('/nodes/{nodeId}')
.onWrite(event => {
const original = event.data.val();
console.log('Adding lastUpdatedTimestamp to node ', original.name);
return event.data.ref.child('lastUpdatedAtFromFC').set(Date.now());
});
我部署了这个云功能并从我的应用程序中添加了一个节点。我去了 Firebase Functions 仪表板,发现该函数已被调用 169 次,但我不知道为什么。当我查看日志时,我会看到类似将函数附加到所有过去节点的日志。
onWrite 的行为是否类似于child_added 并为所有现有实体运行该函数?
每次我更改并再次部署该功能时是否会重复此操作?
我希望它只为新添加的节点运行一次。
【问题讨论】:
-
检查下面的答案
标签: firebase firebase-realtime-database google-cloud-functions