Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Firebase函数的问题_Javascript_Firebase_Firebase Realtime Database_Google Cloud Functions - Fatal编程技术网

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);
});

请编辑问题以描述触发该功能的数据库更改。现在更新问题,但我已经解决了错误,只是仍然坚持删除旧记录。