我正在查询特定文档的集合,并尝试从类型为FirebaseFirestore.QuerySnapshot的查询结果中获取文档ID。
我的实际查询如下(我正在使用异步/等待):
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
。
我在做什么错了?
答案 0 :(得分:2)
QuerySnapshot包含零个或多个代表查询结果的DocumentSnapshot对象。这些文档可以通过docs属性作为数组访问,也可以使用forEach方法枚举。可以通过empty和size属性确定文档数。
因此它将返回QueryDocumentSnapshot
s的数组(QuerySnapshot)。您需要使用forEach()遍历快照,然后才能从每个QueryDocumentSnapshot
https://firebase.google.com/docs/reference/js/firebase.firestore.QueryDocumentSnapshot
如果您使用的是打字稿,则应该能够在IDE中查看定义,方法和属性。