我只是在尝试 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
并为所有现有实体运行该函数?
每次我再次更改和部署该功能时,是否会重复此操作?
我期待它只为新添加的节点运行一次。