簡體   English   中英

firebase firestore v9 中的訪問子集合

[英]access subcollection in firebase firestore v9

我正在嘗試訪問子集合(消息)中的 firebase firestore 文檔:

user > user.uid > messages > docRef.id > date: Date.now()
                                         text: userText
                  userEmail: user.email
                  userName: display.name

我使用了以下內容:

const snapRef2 = collection(db, "users/" + user.uid + "/messages")
onSnapshot(snapRef2, (snapshot) => {
    snapshot.forEach((doc) => {
        console.log(doc.data());
    })
})

但是這種方法只有在 user.uid 是一個字符串時才有效: const snapRef2 = collection(db, "users/randomstring/messages")

如何訪問消息中的文檔?

const snapRef2 = collection(db, `users/${user.uid}/messages`) 

確保使用反引號而不是引號

如果您要檢索由user.uid標識的特定用戶的消息,則答案中的代碼有效。

如果要獲取所有用戶的消息,可以使用集合組查詢 這樣的查詢從所有具有特定名稱的 collections 中讀取,例如messages

const snapRef2 = collectionGroup(db, "/messages")
...

您的代碼的 rest 可以保持不變。

暫無
暫無

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

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