Flutter FlatterFireStore,如何获取数组中包含值的文档
我在firestore中存储了一个json数据,如下所示,文档的id是ddmmyyyy格式的日期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,
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查询来查找他们。您可以添加正在使用的代码