[英]How to get an array of references in Firestore?
我的聊天集合在 Firestore 中具有以下結構:
chats: [
chat1: {
jobs: [
jobs/job1,
jobs/job2,
jobs/job4
]
},
chat2: {
jobs: [
jobs/job2,
jobs/job3
]
}
]
如果我在chat1
上,並且我有數據,那么我就有了對工作的引用數組。 我知道我有jobs/job1
job1 、 jobs/job2
和jobs/job4
。
我如何查詢和獲取所有這些作業的數據?
我可以這樣做: firestore.doc("jobs/job1").get()
和firestore.doc("jobs/job2").get()
和firestore.doc("jobs/job3").get()
但是似乎很低效。
而且我不明白如何過濾firestore.collection("jobs")
來給我想要的東西。
我在這里看到其他幾個問題問同樣的事情,但對於 Java,我無法將其翻譯成 JavaScript。
我可以這樣做: firestore.doc("jobs/job1").get() 和 firestore.doc("jobs/job2").get() 和 firestore.doc("jobs/job3").get() 但那似乎非常低效。
這正是您想要做的 - 您可以迭代列表並單獨獲取每個文檔。 Firestore 沒有提供一些優化的方法來使用網絡和移動 SDK在一個查詢中獲取多個文檔 - 僅使用自己的查詢獲取每個文檔就非常有效。 這種方法不會有任何問題。
import { deleteDoc, collection, doc, query, getDocs, setDoc } from "firebase/firestore"
const q = query(collection(db, 'collection_name'))
const querySnap = await getDocs(q)
querySnap.forEach((doc) => {
console.log("querySnap data", doc.data())
// reference is accessed as doc.ref
// if u wish u can push them to an array like myDocRefs.push(doc.ref)
console.log("querySnap data", doc.ref)
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.