![](/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.