在查询云Firestore中查询集合时,我可以通过对象类型文档字段迭代吗?



我有一个集合" foo"。集合中的每个文档都有一个属性/字段" bar",该属性是这样的对象数组:

foo = [{
    bar: [{
        id: "random_string",
        "status": "string"
    }, {
        id: "random_string",
        "status": "string2"
    }]
}, {
    bar: [{
        id: "random_string",
        "status": "string"
    }, {
        id: "random_string",
        "status": "string2"
    }]
}]

我想实现的目标是我希望能够查询数据库,以便我可以获得两个不同的收藏,一个包含" foo"集合中的所有文档,其中"字符串"为至少一个值" bar"数组中的对象,以及所有具有" string2"的文档作为" bar"数组中至少一个对象的值的集合。

这甚至可能吗?我在这方面挣扎了很多,因此,任何帮助都将不胜感激。如果需要,我也很高兴更改DB模式,完全接受建议!

您无法使用单个查询执行此操作,因为Firestore当前不支持逻辑或条件。换句话说,您不能有一个查询,可以为您提供所有文档,其中一组条件是正确的。

另外,您需要能够在文档中召集特定字段,以对其进行查询。如果没有特定的字段,查询将无法使用索引来加快速度,并且查询永远不会在Firestore提供的范围内扩展。

最新更新