我想删除2小时以上的数据。我尝试了另一个SO答案,但没有解决我的问题。
https://stackoverflow.com/a/32012520/2872091
现在,让我展示我的代码和firebase结构
Firebase结构:
Index.js:
const functions = require('firebase-functions');
exports.deleteOldItems = functions.database.ref('Room/English/{pushId}')
.onWrite(event => {
var ref = event.data.ref.parent; // reference to the items
var now = Date.now();
var cutoff = now - 2 * 60 * 60 * 1000;
var oldItemsQuery = ref.orderByChild('time').endAt(cutoff);
return oldItemsQuery.once('value', function(snapshot) {
// create a map with all children that need to be removed
var updates = {};
snapshot.forEach(function(child) {
updates[child.key] = null
});
// execute all updates in one go and return the result to end the function
return ref.update(updates);
});
});
然后,我将此js文件部署到了我的Firebase。
firebase deploy --only functions
部署成功,终端提示“ 部署完成!”。而且我可以在Firebase函数中看到 deleteOldItems 函数。
结果,我的结构和代码是这样的。将新数据添加到“房间/英语”节点后,没有任何变化。该节点中的数据(早于2小时)不会被删除。我该如何解决这个问题?我怎么了
答案 0 :(得分:0)
.*