从 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
问题
我正在尝试从查询中检索文档引用。我的代码 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