![](/img/trans.png)
[英]Getting a specific document from query Using Firebase Cloud functions
[英]How to query in a specific document in Firebase
我有一些代码可以获取对用户集合的集合引用,然后查询一个动漫ID 字段是否包含某个值。 我想更改它,并且只在带有我通过的 id 的文档内查询。 因此,如果您查看我的 Firestore 的图片,您会发现我在用户集合中有两个文档,每个文档都有其唯一 ID。 我只想在我想要的文档中查询animeID 字段。 并非所有文件都像现在这样。 我将如何 go 这样做? 我曾尝试使用 doc,然后传入文档的 id,但我认为查询不适用于 doc,因为它给了我一个错误。 谢谢
const docRef = collection(db, 'users')
const q = query(docRef, where('animeID', 'array-contains', parseInt(id)))
onSnapshot(q, (snapshot) => {
let results = []
snapshot.docs.forEach((doc) => {
results.push({...doc.data(), id: doc.id})
})
if(results.length > 0){
console.log(true)
}
else{
console.log(false)
}
}, (error) => {
console.log(error)
})
火库结构:
您需要按照文档中的说明进行操作:
import { doc, getDoc } from "firebase/firestore";
const docRef = doc(db, "users", "dbmbEiR6....");
const docSnap = await getDoc(docRef);
if (docSnap.exists()) {
const animeID = docSnap.data().animeID;
// Do whatever you want with animeID
// E.g. log its value:
console.log(JSON.stringify(animeID));
} else {
// doc.data() will be undefined in this case
console.log("No such document!");
}
所以在这种情况下你不需要声明一个Query
。 只需声明一个DocumentReference
并使用getDoc()
方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.