Firebase的云功能 - 从数据库触发器获取父数据



是否可以直接引用数据库触发器上方的节点的数据值的清洁方式?我了解我可以得到父母裁判,然后我可以查询该价值,但是如果有一种更简洁的方法,那将是非常感谢的。

为了清楚起见,我想在对象内使用子节点作为触发器,当它发生时,当它直接获取父对象的值时,以避免在像这样的其他更改对父对象进行其他更改时调用的函数。:

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.refevent.data.adminRef来导航数据库。它们是参考对象,如果您在客户端构建使用Firebase的Web应用程序,则可以像他们一样工作。因此,如果使用父属性属性导航级别对您来说正常工作,请使用它。没有其他特殊语法。

最新更新