从 documentSnapshot 获取 Cloud Firestore 文档引用

Getting a Cloud Firestore document reference from a documentSnapshot

问题

我正在尝试从查询中检索文档引用。我的代码 returns undefined。我可以通过提取 documentSnapshot.ref 的各个部分来获取路径,但这并不简单。

我想要 return 的是一个参考,稍后我可以将其用于 .update 文档,而无需指定集合并使用 documentSnapshot.id

path 属性 的文档是 here

我的代码

const db = admin.firestore();

return db.collection('myCollection').get().then(querySnapshot => {
  querySnapshot.forEach(documentSnapshot => {
    console.log(`documentReference.id   = ${documentSnapshot.id}`);
    console.log(`documentReference.path = ${documentSnapshot.path}`);
    // console.log(`documentReference.ref = ${JSON.stringify(documentSnapshot.ref)}`);
  });
});

输出

documentReference.id   = Jez7R1GAHiR9nbjS3CQ6
documentReference.path = undefined
documentReference.id   = skMmxxUIFXPyVa7Ic7Yp
documentReference.path = undefined

在您的代码中,documentSnapshot 是一个 DocumentSnapshot. It looks like you're assuming that it's an object of type DocumentReference 类型的对象。引用的目的是定位文档。快照的目的是在查询文档后接收文档的内容——它们绝对不是一回事。 DocumentSnapshot 没有 path 属性.

如果您想要在 DocumentSnapshot 中获取的文档的 DocumentReference,您可以在快照中使用 ref。然后就可以拿到ref的路径属性:

documentSnapshot.ref.path