【问题标题】:Can I iterate through an object type document field when querying a collection in cloud firestore?在 Cloud Firestore 中查询集合时,我可以遍历对象类型文档字段吗?
【发布时间】:2018-04-24 12:23:44
【问题描述】:

我有一个集合“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”集合中的所有文档,其中“string”的值至少为一个“bar”数组中的对象的集合,以及具有“string2”作为“bar”数组中至少一个对象的值的所有文档的另一个集合。

这可能吗?我为此付出了很多努力,因此将不胜感激任何帮助。如果需要,我也很乐意更改数据库架构,完全接受建议!

【问题讨论】:

    标签: firebase google-cloud-firestore


    【解决方案1】:

    您无法通过单个查询执行此操作,因为 Firestore 目前不支持逻辑 OR 条件。换句话说,您不可能有一个查询,它可以为您提供一组条件中的任何一个为真的所有文档。

    此外,您需要能够调用文档中的特定字段才能对其执行查询。如果没有要使用的特定字段,查询就无法使用索引来加快速度,并且查询永远不会以 Firestore 提供的规模进行扩展。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-04
      • 2021-08-12
      • 2021-05-11
      • 2018-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-31
      相关资源
      最近更新 更多