Javascript Firebase函数的问题
我正在尝试使用此功能删除实时数据库中的旧条目。我无法删除旧记录,有什么想法吗?该功能似乎运行良好。代码如下Javascript Firebase函数的问题,javascript,firebase,firebase-realtime-database,google-cloud-functions,Javascript,Firebase,Firebase Realtime Database,Google Cloud Functions,我正在尝试使用此功能删除实时数据库中的旧条目。我无法删除旧记录,有什么想法吗?该功能似乎运行良好。代码如下 const functions = require('firebase-functions'); const admin = require('firebase-admin'); admin.initializeApp(); const CUT_OFF_TIME = 2 * 60 * 60 * 1000; // 2 Hours in milliseconds. exports.del
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
const CUT_OFF_TIME = 2 * 60 * 60 * 1000; // 2 Hours in milliseconds.
exports.deleteOldItems = functions.database.ref('/posts/{pushId}')
.onWrite((change, context) => {
var ref = change.after.ref.parent; // reference to the items
var now = Date.now();
var cutoff = now - 600;
var oldItemsQuery = ref.orderByChild('timestamp').endAt(cutoff);
return oldItemsQuery.once('value', function(snapshot) {
var updates = {};
snapshot.forEach(function(child) {
updates[child.key] = null
});
return ref.update(updates);
});
});
数据库的结构是这样的
-'db-name'
- posts
- post 1
- post 2
- etc, etc
不能同时使用once()的承诺和回调。你应该选择其中一个。通常最好选择使用承诺
return oldItemsQuery.once('value').then(snapshot => {
var updates = {};
snapshot.forEach(child => {
updates[child.key] = null;
});
return ref.update(updates);
});
请编辑问题以描述触发该功能的数据库更改。现在更新问题,但我已经解决了错误,只是仍然坚持删除旧记录。