Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未检索到本机Firestore子集合_Javascript_React Native_Google Cloud Firestore - Fatal编程技术网

Javascript 未检索到本机Firestore子集合

Javascript 未检索到本机Firestore子集合,javascript,react-native,google-cloud-firestore,Javascript,React Native,Google Cloud Firestore,我想获得子集合时遇到问题。 有人能帮我吗 firestore结构: 我试图获取数据: 错误: 可能未处理的承诺拒绝id:0 类型错误:documentSnapshot.data不是函数 谢谢因为集合不是文档快照,而是查询快照。集合包含数据列表,它不是实际的文档。 如果你查看firestore文档。您可以在查询集合时看到,您应该: querySnapshot.forEach(function(doc) { console.log(doc.id, " => ", doc.data())

我想获得子集合时遇到问题。 有人能帮我吗

firestore结构:

我试图获取数据:

错误:

可能未处理的承诺拒绝id:0 类型错误:documentSnapshot.data不是函数


谢谢

因为集合不是文档快照,而是查询快照。集合包含数据列表,它不是实际的文档。 如果你查看firestore文档。您可以在查询集合时看到,您应该:

querySnapshot.forEach(function(doc) {
    console.log(doc.id, " => ", doc.data());
});
例外本身就说明了这一点,你收到的对象不是你期望的对象

return (dispatch) => {
  firebase.firestore().collection('questions').doc(currentUser.uid)
   .collection('questions').get()
   .then((querySnapshot) => {
     querySnapshot.forEach((doc) => {
       console.log(doc.id, " => ", doc.data());
     });
   });
 };

因为集合不是DocumentSnapshot,所以它是QuerySnapshot。集合包含数据列表,它不是实际的文档。 如果你查看firestore文档。您可以在查询集合时看到,您应该:

querySnapshot.forEach(function(doc) {
    console.log(doc.id, " => ", doc.data());
});
例外本身就说明了这一点,你收到的对象不是你期望的对象

return (dispatch) => {
  firebase.firestore().collection('questions').doc(currentUser.uid)
   .collection('questions').get()
   .then((querySnapshot) => {
     querySnapshot.forEach((doc) => {
       console.log(doc.id, " => ", doc.data());
     });
   });
 };

你可以得到这样的子集合

收款返回单据数组,必须先访问单据数据。 快速示例

你的解决方案


你可以得到这样的子集合

收款返回单据数组,必须先访问单据数据。 快速示例

你的解决方案


抱歉@Cœur:谢谢你的通知rry@Cœur:谢谢你的通知
firebase.firestore().collection('...').get().then(s => console.log(s.docs))
return (dispatch) => {
    firebase.firestore().collection(`questions/${currentUser.id}/questions`)
      .get()
      .then(questionSnapshot => questionSnapshot.docs)
      .then(questions => {
        questions.forEach(question => {
          console.log(question)
        })
      })
  }