Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.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
Flutter FlatterFireStore,如何获取数组中包含值的文档_Flutter_Google Cloud Firestore - Fatal编程技术网

Flutter FlatterFireStore,如何获取数组中包含值的文档

Flutter FlatterFireStore,如何获取数组中包含值的文档,flutter,google-cloud-firestore,Flutter,Google Cloud Firestore,我在firestore中存储了一个json数据,如下所示,文档的id是ddmmyyyy格式的日期 29032019:{ morning:[{ person : 1, name:'abc', cancelled:false }, { person : 2, name:'abc', cancelled:false } ], afternoon:[{ person : 3,

我在firestore中存储了一个json数据,如下所示,文档的id是ddmmyyyy格式的日期

29032019:{
   morning:[{
      person : 1,
      name:'abc',
      cancelled:false
     },
     {
      person : 2,
      name:'abc',
      cancelled:false
    }
  ],
  afternoon:[{
      person : 3,
      name:'abc',
      cancelled:false
   },
   {
      person : 4,
      name:'abc',
      cancelled:false
   }
 ]
}
30032019:{
   morning:[{
      person : 5,
      name:'abc',
      cancelled:false
     },
     {
      person : 2,
      name:'abc',
      cancelled:false
    }
  ],
  afternoon:[{
      person : 6,
      name:'abc',
      cancelled:false
   },
   {
      person : 7,
      name:'abc',
      cancelled:false
   }
 ]
}

这里9032019和30032019是文档ID。如何获取包含上午和下午数组中人员的文档,到目前为止,我所能做的是使用接下来的3个日期获取文档,并遍历上午和下午数组以检查集合中是否存在id为6的人员。

使用Firestore,不能像现在这样在数组中搜索对象字段。只能按数组项的确切内容搜索数组


这意味着您必须将要搜索的值带到可搜索的新字段中。如果通过
人员
字段进行搜索,则可以在名为
人员
的文档中创建一个新的数组字段,该字段仅包含每个人的整数,然后使用arrayContains查询来查找他们。

您可以添加正在使用的代码