Javascript Firebase函数-在子集合中创建文档时从主集合获取数据

Javascript Firebase函数-在子集合中创建文档时从主集合获取数据,javascript,node.js,firebase,google-cloud-firestore,google-cloud-functions,Javascript,Node.js,Firebase,Google Cloud Firestore,Google Cloud Functions,这就是我的firestore db的样子 提要(主集合) 提要1(主集合下的文档) 饲料2 评论(子集合) 评论1(子集合中的文档) 评论2 当使用firebase函数添加新注释时,我试图访问主集合下文档中的信息。有没有办法获取这些信息 我的当前代码,我只能访问commentDoc数据 exports.newComment=functions.firestore.document('Feed/{FeedDoc}/comments/{commentDoc}').onCreat

这就是我的firestore db的样子

  • 提要(主集合)
    • 提要1(主集合下的文档)
    • 饲料2
      • 评论(子集合)
        • 评论1(子集合中的文档)
        • 评论2
当使用firebase函数添加新注释时,我试图访问主集合下文档中的信息。有没有办法获取这些信息

我的当前代码,我只能访问commentDoc数据

exports.newComment=functions.firestore.document('Feed/{FeedDoc}/comments/{commentDoc}').onCreate((snap, context) => {
const commentData = snap.data()
}

使用a和a的
parent
方法,可以执行以下操作:


或者,您可以使用以下操作:

exports.newComment=functions.firestore.document('Feed/{FeedDoc}/comments/{commentDoc}')
 .onCreate(async (snap, context) => {   // Note the async keyword
    const commentData = snap.data();

    const feedDocRef = snap.ref.parent.parent;
    const feedSnap = await feedDocRef.get();
    // ...
});
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();

exports.newComment=functions.firestore.document('Feed/{FeedDoc}/comments/{commentDoc}').onCreate(async (snap, context) => {
   const commentData = snap.data();

   const feedDocId = context.params.FeedDoc;
   const feedSnap = await admin.firestore().doc(`Feed/${FeedDocId}`).get();
   // ...
});