![](/img/trans.png)
[英]How to query documents from a sub-collection, based on a main collection's field and a sub-collection's fields in cloud firestore?
[英]How to filter in sub collection's documents (firebase)?
我的問題是我使用錯誤的查詢來獲取日期。
const SaveDateBase = async ( e) => {
e.preventDefault()
await setDoc(doc(db, "Users", "Pompy", "Pompy", user.uid), {
displayName: user.displayName,
uid: user?.uid,
modulyPV}).then(()=>{
console.log("moduly", modulyPV)
})
};
useEffect(() => {
const getUsers = async (users) => {
const URC = query(collection(db, "Users").document("Pompy").collection("Pompy"), where("uid", "==", user?.uid));
const data = await getDocs(URC)
setModulyPV(data.docs.map((doc) => ({...doc.data(), id: doc.id})))
}
getUsers();
},[])
日期保存在日期庫中,我可以成功更新/刪除它們,但是我在獲取(讀取?)它們時做錯了。 我猜是代碼有問題。
您可以通過不同的方式獲取數據,首先“Pompy”似乎是您存儲嵌套集合的文檔,然后您記錄了“Pompy”因此檢索該特定文檔應該類似於:
let snapshot = await db
.collection('Users')
.doc('Pompy')
.collection('Pompy')
.get()
snapshot.forEach(doc =>{
console.log('data:', doc.data())
})
然后查詢嵌套集合就像查詢嵌套的 collections。
您還可以使用集合組。
https://firebase.google.com/docs/firestore/query-data/queries#collection-group-query
const pompys = query(collectionGroup(db, 'Pompy'), where("uid", "==", user?.uid));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.