是否可以通过对象的属性值查询对象数组?
请考虑以下示例:
doc1:
{
array:[
{id:1, ...},
{id:2, ...}
]
}
现在,我希望获取所有doc1
个文档,这些文档的id=1
属性中包含带有array
的对象。
这可能吗?
我正在尝试类似以下的尝试,但没有成功:
collection(...).where('array', 'array-contains', {id:1})
collection(...).where('array', 'array-contains', 'id=1') //well, I know, it expects value, but it was worth trying :)
...
尽管如果我传递确切的对象,它将起作用:
collection(...).where('array', 'array-contains', {id:1,...}//all the properties with the exact values as they appear in the database)
...
这里的问题是,我真的只需要按特定的id
字段进行过滤。
那么也许有一种方法可以传递一个对象,并告诉Firestore忽略假定“任何值合适”的所有缺失字段,就像其余属性的通配符一样?
或者也许存在另一种语法?