节点不会从Firebase数据库中移除?
我有以下数据结构:
不幸的是,“天”不会从下面的代码中删除数据库。
我目前的代码:
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
- 如何在Firebase的Cloud Functions中创buildHTTP请求?
- 成功sendToDevice后,Firebase云消息传递不起作用
- 如何从Firebase数据库获取值并将其分配给Firebase云端函数中的值?
- 使用firebase托pipenodeJS应用程序
- 存储上的Firebasefunction是否存在通配符?
- 用于Firebase Admin SDK的Node.js身份validation服务器 – JWTvalidation问题
- TypeError:firebase.storage不是一个函数
- 带有Gmail“发件人:地址”的Nodemailer不会更改
- 在部署Firebase项目时,错误显示“找不到模块firebase-functions”