
我試圖從(訊息)表中獲取所有檔案 ID,但它回傳未定義。然而,當我用我的另一張桌子(捐贈者)嘗試它時,它正在作業。
我想知道,在訊息表中,是不是因為檔案參考了一個集合,而不是某些欄位,這就是它變得未定義的原因?
無論如何,我的問題是,如何從我的訊息表中獲取所有檔案 ID?我的訊息方法回傳未定義。
db.collection('messages')
.get()
.then((querySnapshot) => {
querySnapshot.forEach((doc) => console.log(doc.data()));
});
db.collection('donor')
.get()
.then((querySnapshot) => {
querySnapshot.forEach((doc) => console.log(doc.data()));
});
uj5u.com熱心網友回復:
您的messages收藏中沒有檔案。您只有chats檔案 ID,這會導致 Firebase 控制臺顯示messages集合的檔案 ID ,以便您可以選擇它們。客戶端 SDK 無法獲取這些檔案 ID,因此最好messages在創建子集合之前創建一個空檔案。
回填現有的,缺少的messages檔案,你可以使用一個集合組查詢上chats,遍歷這些結果,并與像寫父檔案document.ref.parent.parent.set({ dummy: true })。
另見:
- Firestore DB - 以斜體顯示的檔案
- 為什么非自動生成的檔案 ID 在 Firestore 控制臺中以斜體顯示?
- 從集合 firebase angular/typescript 中獲取所有檔案
uj5u.com熱心網友回復:
您的訊息集合根本不包含任何檔案。它包含嵌套在檔案 ID 下的子集合,這些子集合參考不存在的檔案。您可以判斷檔案不存在,因為 ID 以斜體呈現。
不要求子集合必須嵌套在存在的檔案下。子集合完全獨立于任何父檔案而存在。
對具有“缺失”檔案的集合的查詢不會產生任何這些檔案。它們不存在,并且無法通過 Web 和移動 SDK 進行查詢。
也可以看看:
- Firestore DB - 以斜體顯示的檔案
- 為什么非自動生成的檔案 ID 在 Firestore 控制臺中以斜體顯示?
- 默認情況下,父檔案被標記為“已洗掉”(斜體)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/399020.html
標籤:反应 火力基地 谷歌云firestore
下一篇:我可以在值中添加條件嗎?
