database - 在 Firestore 中查询没有映射键的文档

标签 database firebase flutter dart google-cloud-firestore

<分区>

我在 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。

我怎样才能做到这一点?

最佳答案

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

关于database - 在 Firestore 中查询没有映射键的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57504176/

相关文章:

sql - 在服务器上排序还是在客户端上排序?

mysql - EER 图中主键和外键的使用

javascript - 如何在不登录 firebase/js 的情况下注册用户

firebase - 将我的 Firebase 应用导入新的 Firebase 3 控制台会破坏任何内容吗?

flutter - 在 flutter 中突出显示下拉列表中的选定项目

database - phpmyadmin 导出为 gzip、bzip 和 zip 时出现网络错误

sql - Oracle 找到过去 3 年没有租房的客户

android - Picasso 无法加载 Firebase 存储中的图像

http - 如何在具有底部导航的应用程序中处理 http GET 请求

flutter - 有没有一种方法可以对 ListView 进行排序?