我只想查詢具有子集合 Favoris 的用戶(不是每個用戶都有一個 favoris 子集合),并且我只想從 favoris 中查詢與當前用戶具有相同 ID 的檔案。
我做了以下功能,但我沒有找到檔案。我應該有一個。我是不是忘記了什么?
const getFavoris = () => {
userDB.doc()
.collection('favoris')
.where('id', '==', currentUser.id)
.get()
.then((querySnapshot) => {
console.log('cmb', querySnapshot.size);
querySnapshot.forEach((doc) => {
console.log(doc.id);
});
});
};
也是我的資料庫用戶和子集合 Favoris 的示例


uj5u.com熱心網友回復:
由于“favoris”是一個子集合,而不是使用collection()呼叫,您應該使用collectionGroup()查詢,如以下代碼行:
const getFavoris = () => {
firebase.firestore()
.collectionGroup('favoris') //??
.where('id', '==', currentUser.id)
.get()
.then((querySnapshot) => {
console.log('cmb', querySnapshot.size);
querySnapshot.forEach((doc) => {
console.log(doc.id);
});
});
};
除此之外,不要忘記創建相應的index。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/337410.html
標籤:javascript 火力基地 谷歌云firestore
