簡體   English   中英

如何過濾子集合的文檔(firebase)?

[英]How to filter in sub collection's documents (firebase)?

我的問題是我使用錯誤的查詢來獲取日期。

          const SaveDateBase = async ( e) => {
            e.preventDefault()
           

                await setDoc(doc(db, "Users", "Pompy", "Pompy", user.uid), {
                  displayName: user.displayName,
                  uid:  user?.uid,
                  modulyPV}).then(()=>{
                 console.log("moduly", modulyPV)
                  })
        
         
        
          };
        

              useEffect(() => {
                const getUsers = async (users) => {
                  const URC = query(collection(db, "Users").document("Pompy").collection("Pompy"), where("uid", "==", user?.uid));

                
        const data = await getDocs(URC)
        setModulyPV(data.docs.map((doc) => ({...doc.data(), id: doc.id})))
                }
                getUsers();
              },[])

日期保存在日期庫中,我可以成功更新/刪除它們,但是我在獲取(讀取?)它們時做錯了。 我猜是代碼有問題。

您可以通過不同的方式獲取數據,首先“Pompy”似乎是您存儲嵌套集合的文檔,然后您記錄了“Pompy”因此檢索該特定文檔應該類似於:

let snapshot = await db
.collection('Users')
.doc('Pompy')
.collection('Pompy')
.get()

snapshot.forEach(doc =>{
  console.log('data:', doc.data())
})

然后查詢嵌套集合就像查詢嵌套的 collections。

https://cloud.google.com/firestore/docs/samples/firestore-data-get-sub-collections?hl=es-419#firestore_data_get_sub_collections-nodejs

您還可以使用集合組。

https://firebase.google.com/docs/firestore/query-data/queries#collection-group-query

const pompys = query(collectionGroup(db, 'Pompy'), where("uid", "==", user?.uid));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM