Javascript 节点不';无法从Firebase数据库中删除?
我有以下数据结构: 不幸的是,没有使用下面的代码从数据库中删除“days” 我当前的代码:Javascript 节点不';无法从Firebase数据库中删除?,javascript,node.js,firebase,firebase-realtime-database,google-cloud-functions,Javascript,Node.js,Firebase,Firebase Realtime Database,Google Cloud Functions,我有以下数据结构: 不幸的是,没有使用下面的代码从数据库中删除“days” 我当前的代码: const functions = require('firebase-functions'); const admin = require('firebase-admin'); admin.initializeApp(functions.config().firebase); exports.deleteOldItems = functions.database.ref('/path/to
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);
Ref:您是否尝试过不使用斜杠和子方法?functions.database.ref.child('days').remove()@是的,我试过了。它不起作用。解决问题的答案将立即获得赏金!使用Firebase类代替Firebase函数。ref=新Firebase(“myfirebase.com”);ref.child(key.remove()@MaduraPradeep我只想删除“天”节点。天不是你的根节点吗?