我正在查询特定文档的集合,并尝试从 FirebaseFirestore.QuerySnapshot 类型的查询结果中获取文档 ID。
我的实际查询如下所示(我正在使用 async/await):
result = await db.collection("chatrooms").where("userA", "==", req.body.userA)
.where("userB", "==", req.body.userB).limit(1).get();
我试过:
await result.docs.map(doc => {
return doc.id
})
但这给了我一个undefined
回报。
我究竟做错了什么?
QuerySnapshot 包含零个或多个 DocumentSnapshot 对象,表示查询的结果。文档可以通过 docs 属性作为数组访问,也可以使用 forEach 方法枚举。文档的数量可以通过 empty 和 size 属性来确定。
所以它将返回一个QueryDocumentSnapshot
s的数组 (QuerySnapshot) 。您需要使用forEach()遍历快照,然后您可以从每个快照中获取文档 IDQueryDocumentSnapshot
https://firebase.google.com/docs/reference/js/firebase.firestore.QueryDocumentSnapshot
如果您使用的是打字稿,您应该能够在您的 IDE 中看到定义、方法和属性。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句