UPDATE - 已解决:引用错误。 (在评论中提到)。抱歉,慢慢来。
每当将用户分配给新管理器时,我想在早期管理器下的managedby节点中删除它们的引用。用户节点(*)结构如下所示:
在用户节点中更改managed by时:
云功能完成后所需的输出:
我的firebase云功能是:
exports.updatemanagedby = functions.database.ref('/users/{uid}/managedby').onUpdate(event => {
if (event.data.previous.exists()) {
var earlierHandler = event.data.previous.val();
console.log("earlierHandler ", earlierHandler)
var sourceId = event.params.uid;
console.log("Current UID ", sourceId)
console.log('/managedby/' + earlierHandler + '/' + sourceId);
var adaRef = admin.database().ref('/managedby/' + earlierHandler.handler + '/' + sourceId)
adaRef.remove()
.then(()=> console.log("removed"))
.catch((error)=>console.log("error is ",error))
}
})
在运行时,我在云功能日志中收到此信息。它甚至控制台日志“已删除”:
但是(#)中给出的managedby Node没有变化。 F515DYXZbU ..... G2仍在那里。我做错了什么?