- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想从 Firestore 收藏中选择不是由我撰写的文章。
真的有那么难吗?
Every article has field "owner_uid".
就是这样:
我只想写相当于"select * from articles where uid<>request.auth.uid"
TL;DR:已找到解决方案:语言/平台的用法:https://firebase.google.com/docs/firestore/query-data/queries#kotlin+ktx_5
最佳答案
编辑 2020 年 9 月 18 日
Firebase release notes建议现在有 not-in
和 !=
查询。 ( Proper documentation 现已推出。)
not-in
查找指定字段的值不在指定数组中的文档。!=
查找指定字段值不等于指定值的文档。这两个查询运算符都不会匹配不存在指定字段的文档。请务必参阅您所用语言的语法文档。
原始答案
Firestore 不提供不平等检查。根据documentation :
The where() method takes three parameters: a field to filter on, a comparison operation, and a value. The comparison can be <, <=, ==, >, or >=.
不等式运算不像其他使用 index 的运算那样可扩展。 Firestore 索引非常适合范围查询。使用这种类型的索引,对于不等式查询,后端仍然必须扫描集合中的每个文档才能得出结果,当文档数量变大时,这对性能非常不利。
如果您需要过滤结果以删除特定项目,您仍然可以在本地执行此操作。
您还可以选择使用多个查询来排除不同的值。像这样,如果您想要除 12 之外的所有内容。查询值 < 12,然后查询值 > 12,然后在客户端中合并结果。
关于firebase - 火存储 : how to perform a query with inequality/not equals,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47251919/
我是一名优秀的程序员,十分优秀!