如何在JS v9中從一個集合中獲得對另一個集合的訪問
uj5u.com熱心網友回復:Firebase的JS API v9帶來了不同的變化。 最大的變化之一是DocumentReference不允許再訪問子集合。或者說,至少不能直接從 DocumentReference 本身訪問,我們以前在 v8 中就是這樣做的。
例如,在 v8 中,我們可以這樣做:
在 v8 中,我們可以這樣做。
/say we have a document reference.
const myDocument = db.collection("post")。 doc(MY_DOC_ID)。
//我們可以從檔案的參考中訪問子集,并且,
//例如,對子集合中的所有檔案做一些處理。
myDocument.collection("comments").get()。 then((querySnapshot) => {
querySnapshot.forEach((doc) => {
//DO SOMETHING。
});
});
對于v9,我們有一個不同的方法。假設我們得到了我們的檔案:
const myDocument = doc(db, "posts", MY_DOC_ID)。)
你可以注意到,我們寫代碼的方式是不同的。在v8中,我們曾經用程式化的方式來寫它。而在v9中,一切都轉向了更多的功能方式,我們可以使用諸如doc()、collection()等函式。
const subcollectionSnapshot = await getDocs(collection(db, "post", MY_DOC_ID, "comments")。)
subcollectionSnapshot.forEach((doc) =>/span> {
//DO SOMETHING。
});
注意,我們可以向collection()和doc()等函式傳遞附加引數。第一個永遠是對資料庫的參考,第二個將是根集合,從那里開始,每一個其他引數都將被添加到路徑中。在我的例子中,我寫到
collection(db, "post", MY_DOC_ID, "comments")
這意味著
- 進入 "post "集合 。
- 選取id等于MY_DOC_ID的檔案 。
- 進入該檔案的 "評論 "子集合 。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/308593.html
標籤:
上一篇:根據flutter裝飾中的firebase值改變顏色
下一篇:資料庫知識掃盲,資料庫索引

