Node.js 如何从firestore查询中获取结果

Node.js 如何从firestore查询中获取结果,node.js,reactjs,google-cloud-firestore,Node.js,Reactjs,Google Cloud Firestore,我想了解如何将常量数据中的数组复制到结果数组。我的意思是我想把它从查询中去掉,根据,在您的场景中,使用数组的查询包含任何返回每个症状文档,其中症状字段是一个数组,包含您在选择数组中的任何元素。 因此,它将返回字段Symtom包含Select数组中定义的元素之一的所有文档 您可以使用wait获取所有文档,但是。然后(querySnapShot)也可以: componentDidMount(){ let select=[]; let result=[]; let tagsSe

我想了解如何将常量数据中的数组复制到结果数组。我的意思是我想把它从查询中去掉,

根据,在您的场景中,使用数组的查询包含任何返回每个症状文档,其中症状字段是一个数组,包含您在选择数组中的任何元素。

因此,它将返回字段Symtom包含Select数组中定义的元素之一的所有文档

您可以使用wait获取所有文档,但是。然后(querySnapShot)也可以:

componentDidMount(){
    let select=[];
    let result=[];
    let tagsSelected=this.state.tagsSelected
    tagsSelected.forEach(element => {
      select.push(element.name)
    });
    symptomsRef.where("Symptom", "array-contains-any", select).get().then((querySnapshot) => {
      const data = querySnapshot.docs.map((doc) => (doc.id));
      console.log(data);
    });
}
然后,您可以迭代文档以获得以下结果:

const documents = await symptomsRef.where("Symptom", "array-contains-any", select).get()


if (documents.empty) {
  console.log('No matching documents.');
  return;
}  

documents.forEach(doc => {
  console.log(doc.id, '=>', doc.data());
});


您可以将所需的文档数据或任何文档字段保存在列表或常量中,以便执行以下任务:

const documents = await symptomsRef.where("Symptom", "array-contains-any", select).get()


if (documents.empty) {
  console.log('No matching documents.');
  return;
}  

documents.forEach(doc => {
  console.log(doc.id, '=>', doc.data());
});



在您的示例代码中,运行数据时数据的结果是什么?是否有任何错误?或者,正如@Brettski所问,数据打印到控制台的内容是什么?