有什么方法可以在google-cloud-firestore中的对象数组中搜索具有特定字段的对象

时间:2019-08-15 13:26:02

标签: javascript node.js firebase google-cloud-firestore

我想查询Google Cloud Firestore中具有特定字段的对象数组中的对象, 我有这样的集合结构:

...
{
    name: "shoes 1",
    amount:150,
    productors: [
        {
            id : "a001",
            name : "productor 1"
        },
        {
            id: "a002",
            name: "productor 2"
        }
        ...
    ]
    ...
}
{
    name: "shoes 2",
    amount:80,
    productors: [
        {
            id : "a002",
            name : "productor 2"
        },
        {
            id: "a001",
            name: "productor 1"
        }
        ...
    ]
    ...
}
...

,我想查询该集合以获取productors数组(id为e001的produtor)中的所有文档。

我使用firestore-admin-sdk在nodejs环境中工作

1 个答案:

答案 0 :(得分:1)

Cloud Firestore无法做到这一点。您无法查询数组中对象的属性。您只能查询数组中一项的完整值(完整对象)。

对于此查询,您将需要一个单独的字段来查询,也许是仅包含要查找的id值的数组。您可以为此使用array-contains type query