是否可以直接引用数据库触发器上方的节点的数据值的清洁方式?我了解我可以得到父母裁判,然后我可以查询该价值,但是如果有一种更简洁的方法,那将是非常感谢的。
为了清楚起见,我想在对象内使用子节点作为触发器,当它发生时,当它直接获取父对象的值时,以避免在像这样的其他更改对父对象进行其他更改时调用的函数。:
const parentObject = {
triggerValue: 'I want the function to be triggered only on writes to this path',
parentValue: 'But I also want this value',
}
谢谢
我已经搜索了这个答案,例如六次,不得不重新实现解决方案。
以下是从子属性post.body
获取父数据post
的方法:
exports.doStuff = functions.database
.ref("/posts/{postId}/body")
.onWrite(event => {
return event.data.ref.parent.once("value").then(snap => {
const post = snap.val();
// do stuff with post here
});
});
您可以使用 event.data.ref
和 event.data.adminRef
来导航数据库。它们是参考对象,如果您在客户端构建使用Firebase的Web应用程序,则可以像他们一样工作。因此,如果使用父属性属性导航级别对您来说正常工作,请使用它。没有其他特殊语法。