提示:有5個產品。每個產品有 5 個視頻評論。這些評論嵌套在以下資料結構中。
產品 > 檔案 > productReviewClips > 檔案 {videoUrl: https://videoclip.mp4 , uid: 1234}。
每個 productReviewClips 檔案都有一個 videoUrl。
我是否以錯誤的方式從所有產品中查詢 videoUrls?
const [feed, setFeed] = useState([]);
useEffect(() => {
firestore.collection('products').doc().collectionGroup('productReviewClips')
.onSnapshot((snapshot) => {
// console.log(JSON.stringify(snapshot) "1")
setFeed([...snapshot.docs.map((doc) => {
return {
...doc.data(),
documentID: doc.id,
};
})
])
})
},
[])
uj5u.com熱心網友回復:
當您doc()不帶引數呼叫時,它會生成一個新的唯一 ID。對于集合組查詢,collection('products').doc()完全跳過初始并執行:
firestore.collectionGroup('productReviewClips')...
該collectionGroup函式是Firestore物件的一部分,它在CollectionReferenceorDocumentReference物件上不可用,這也是您收到“不是函式”錯誤的原因。
如果您只想搜索productReviewClips特定路徑下的集合,可以使用 Sam 在此處解釋的技巧:CollectionGroupQuery 但將搜索限制為特定檔案下的子集合
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/352343.html
標籤:javascript 火力基地 谷歌云firestore 反应钩子
上一篇:從多個組件同時寫入單個狀態物件
下一篇:亂數和百分比-采摘值
