gpt4 book ai didi

firebase - 火存储 : how to perform a query with inequality/not equals

转载 作者:行者123 更新时间:2023-12-02 16:14:47 24 4
gpt4 key购买 nike

我想从 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com