exports.getref = (oid, successFunc, errFunc) => {
dbconfig.collection('txn')
.where('oid', '==', oid)
.get()
.then(docRef => {
successFunc({
id: docRef.id,
success: true
})
})
.catch(err => {
errFunc({ id: null, success: false })
})
在这里我要获取我的集合的文档ID,其中字段值oid等于oid。我如何获取文档ID
答案 0 :(得分:2)
使用Firestore执行查询时,无论有多少文档与查询匹配,您都将返回QuerySnapshot对象。
dbconfig.collection('txn')
.where('oid', '==', oid)
.get()
.then(querySnapshot => { ... })
您必须使用此QuerySnapshot来了解发生了什么。我建议阅读链接的API文档。
您应该使用size方法检查它是否根本包含任何文档,然后,如果它包含您要查找的文档,请使用docs数组查找包含以下内容的DocumentSnapshot:数据。该快照将具有ID为:
的DocumentReference属性。if (querySnapshot.size == 1) {
const snap = querySnapshot.docs[0];
console.log(snap.ref.id);
}
else {
console.log("query result in exactly one document");
}