繁体   English   中英

我无法访问 firestore 数据库中的两个子集合之一。 反应

[英]I can't access one of two subcollections in firestore data base. React

我在同一个文档中有两个子集合你可以在图片中看到

我可以使用此代码访问第一个:

useEffect(() => {
const getData = () => {                                       // get data from firestore to app
 
  const q = query(collection(db, `lists/my lists/${currentList}`), orderBy('queryPreference'));

  onSnapshot(q, (snapshot) => {
    firestoreList = [];                                       // reset firestoreList after every change to avoid copies in items array
    firestoreIds = [];
    snapshot.docs.forEach((doc) => {
      console.log('subcol item', doc)
      firestoreList.push({ ...doc.data(), id: doc.id });
      firestoreIds.every(id => id !== doc.id) && firestoreIds.push(doc.id);
      
    });
    if (firestoreList.length === 0) {
      setItems(items.concat(newItem));
    } else {
      setItemIds(firestoreIds);
      setItems(firestoreList);
    }
  }); 
}

getData();
console.log('get data test')
}, [currentList]);

其中currentList被硬编码为“购物清单”。 如果我将currentList更改为“待办事项列表”,firebase 不会返回任何内容(也没有错误)。 collections 的名称和 ID 拼写如上:'shopping list' 和 'to do list'。

它应该是这样的:

const q = query(collection(db, 'lists', 'my lists', currentList), 
orderBy('queryPreference'));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM