[英]How to add a new Sub- Collection in a Firestore document Android
[英]Is it possible to add a sub collection to a collection without creating document in firestore in android?
我是 firebase 的 cloud firestore 新手。在我的項目中,我創建了類別作為所有用戶共有的集合。 但是我需要為每個集合創建類別作為子集合。 是否可以?
任何幫助將不勝感激。
是否可以將子集合添加到集合中而無需在 android 的 firestore 中創建文檔?
當然不! 根據官方文檔,唯一允許的結構如下:
db.collection('coll').doc('doc').collection('subcoll').doc('subdoc')
Firestore 無法將集合存儲在其他集合之下。 所以下面這行代碼是不允許的:
db.collection('coll').collection('subcoll').doc('subdoc') //Not allowed
因為無法將文檔存儲在其他文檔之下。
db.collection('coll').doc('doc').doc('subdoc') //Not allowed
Alex 的回答大部分是正確的,只是他沒有指出您可以在不存在的文檔下擁有子集合。 為了在其文檔 ID 下擁有子集合,沒有義務擁有實際文檔。
當您使用這樣的文檔 ID 創建對子集合的引用時:
db.collection('coll').doc('doc').collection('subcoll')
如果文檔 id doc
尚不存在,那根本就不是問題。 實際上,將文檔添加到subcoll
, doc
會以斜體出現在 Firebase 控制台中,表明它不存在。 如果您願意,仍有機會創建文檔,但沒有義務這樣做。 無論文檔是否存在,您都可以訪問子集合的內容。 如果您創建了該文檔,您也可以將其刪除,它的所有子集合仍將存在。
如果這種子集合的組織適合您的需要,請隨意使用它。
就像所有人都回答過一樣,你不能。 但是您可以在任何集合下創建 1 個文檔或在任何文檔下創建 1 個集合以按照您想要的方式訪問數據......只需要更長的代碼。 例如-
db.collection('coll')。 doc('doc') .collection('subcoll')
粗體=='只有 1 個文檔'
這對我有用
import { doc } from "firebase/firestore";
const messageRef = doc(db, "rooms", "roomA", "messages", "message1");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.