簡體   English   中英

節點沒有從Firebase數據庫中刪除?

[英]Node doesn't get removed from Firebase Database?

我有以下數據結構:

在此處輸入圖片說明

不幸的是,“天”不會通過下面的代碼從數據庫中刪除。

我當前的代碼:

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);

     exports.deleteOldItems = functions.database.ref('/path/to/items/{pushId}') //irrelevant to the question
    .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('timestamp').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);
  }).then(function() {;
    return functions.database.ref('/days').remove(); // /days doesn't get removed!
  });

    });

您可以這樣做:

let updates = {};
updates['/days'] = null;

firebase.database().ref().update(updates);

請參閱文檔中的“更新或刪除數據”;

在您的代碼中:

.then(function() {;
    let updates = {};
    updates['/days'] = null;

    return firebase.database().ref().update(updates)
});

編輯:嘗試這樣的事情:

const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
const defaultDatabase = admin.database();

...

let updates = {};
updates['/days'] = null;
defaultDatabase.ref().update(updates);

參考: https : //firebase.google.com/docs/database/admin/start

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM