【问题标题】:Query Firestore for documents without a map key [duplicate]在 Firestore 中查询没有映射键的文档 [重复]
【发布时间】:2019-12-21 13:41:45
【问题描述】:

我在 Firestore 中有几个文档,每个文档都包含一个用户 ID 映射。例如:

// Document 1
userIds: {
    "1": true,
    "2": true,
    "3": true,
    ...
}

// Document 2
userIds: {
    "2": true,
    "3": true,
    ...
}

// Document 3
userIds: {
    "2": true,
    "3": true,
    "4": true,
    ...
}

我想查找所有userIds 映射不包含特定用户ID 的文档。我试过使用这个查询:

.where('userIds.1', isEqualTo: null)

但是这并没有得到预期的结果。通过上面的查询,所有文档都被返回。文档 2 和 3 应该被退回。

我怎样才能做到这一点?

【问题讨论】:

    标签: database firebase flutter dart google-cloud-firestore


    【解决方案1】:

    您无法查询文档中是否缺少数据。这不是 Firestore 索引的工作方式。索引通过在易于搜索的结构中记录值的存在来工作。它们无法存储几乎无限数量的不存在的值。如果你想搜索某个东西,它实际上必须在一个已知位置有一个值。

    【讨论】:

      猜你喜欢
      • 2021-09-04
      • 2021-10-17
      • 2019-09-25
      • 2019-01-09
      • 1970-01-01
      • 1970-01-01
      • 2020-09-06
      • 2019-10-18
      • 1970-01-01
      相关资源
      最近更新 更多