我尝试使用以下代码从 Firestore 获取文档引用:
var sfDocRef = database.collection("tags").doc("567BHJV6JF95HVCF44HB");
现在,如果我将鼠标悬停在 sfDocRef
上它给了我
(local var) sfDocRef: FirebaseFirestore.DocumentReference<FirebaseFirestore.DocumentData>
但我的要求是获取文档的地址及其名称。不包括其 ID。为此,我使用以下代码:
var sfDocRef = database.collection("tags").where("userName", "==", userName);
现在,如果我将鼠标悬停在这段代码上,它会给出以下数据类型:
(local var) sfDocRef: FirebaseFirestore.Query<FirebaseFirestore.DocumentData>
我要DocumentReference
数据类型,但不是使用 ID,而是使用用户名。我可以在一行中完成此操作吗?我在文档中没有找到任何方法来做到这一点。任何帮助将不胜感激。
最佳答案
一个查询可以有多个结果。因此它不会返回单个 DocumentReference
,而是返回一个可以引用多个文档的 Query
。
要获取实际的文档引用,您必须执行查询并循环结果:
var query = database.collection("tags").where("userName", "==", userName);
query.get()
.then(function(querySnapshot) {
querySnapshot.forEach(function(doc) {
// doc.data() is never undefined for query doc snapshots
console.log(doc.id, " => ", doc.data());
// Document reference is available as doc.ref
});
})
.catch(function(error) {
console.log("Error getting documents: ", error);
});
关于javascript - 使用用户名获取文档引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61467171/