Firestore:如何执行不等/不等于的查询

2024-02-25

我想从 Firestore 收藏中选择不是由我撰写的文章。
真的有那么难吗?

每篇文章都有字段“owner_uid”。

就是这样:
我只想写相当于"select * from articles where uid<>request.auth.uid"

TL;DR:已经找到解决方案:语言/平台的用法:https://firebase.google.com/docs/firestore/query-data/queries#kotlin+ktx_5 https://firebase.google.com/docs/firestore/query-data/queries#kotlin+ktx_5


编辑 2020 年 9 月 18 日

火力基地发行说明 https://firebase.google.com/support/release-notes/js#version_7210_-_september_17_2020建议现在有not-in and !=查询。 (适当的文档 https://firebase.google.com/docs/firestore/query-data/queries#not_equal_现在可用。)

  • not-in查找指定字段的值不在指定数组中的文档。
  • !=查找指定字段的值不等于指定值的文档。

两个查询运算符都不会匹配不存在指定字段的文档。请务必参阅您语言的语法文档。

原答案

Firestore 不提供不平等检查。根据文档 https://firebase.google.com/docs/firestore/query-data/queries:

where() 方法采用三个参数:要过滤的字段、比较操作和值。比较可以是 或 >=。

不等式运算不像其他使用index https://firebase.google.com/docs/firestore/query-data/indexing。 Firestore 索引非常适合范围查询。使用这种类型的索引,对于不等式查询,后端仍然必须扫描集合中的每个文档才能得出结果,当文档数量变大时,这对性能非常不利。

如果您需要过滤结果以删除特定项目,您仍然可以在本地执行此操作。

您还可以选择使用多个查询来排除不同的值。像这样,如果您想要除 12 之外的所有内容。查询值 12,然后在客户端中合并结果。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Firestore:如何执行不等/不等于的查询 的相关文章

  • Firestore 数据建模文章和类别

    Context 我正在用 Angular 创建一个类似 wiki 的页面 wiki 页面的文章总数可能不会超过 5000 篇 我想获得最有效的 页面加载 方式 但我认为我对此太陌生 无法监督一种选择相对于另一种选择的后果 当然我也想遵守惯例
  • 使用 Firebase Cloud Messaging(适用于 Android)时可以创建子主题吗?

    我目前正在开发一个使用新的 firebase 云消息传递系统的应用程序 现在我看到了FCM的主题特征 我创建了一个主题 新闻 并想要添加子主题 例如 新闻 天气 或 新闻 政治 总共有大约20个子主题 这对于 FCM 来说是可能的吗 这是神
  • Flutter Firestore 查询嵌套子集合

    我正在尝试查询 Firebase 中的子集合 但我总是得到一个空列表 这是我的查询 Firestore instance collection messages where idFrom isEqualTo userID snapshots
  • 即使在 goOffline() 和 keepSynced(false) 之后,Firebase 数据库仍然有少量下载

    即使在 goOffline 和 keepSynced false 之后 我的 Firebase 数据库仍然有少量下载 我只想获取一次数据 然后我将其保存到 SharedPreferences 中 下次用户运行应用程序时 它将检查 Share
  • 如何禁用 Firebase 电话身份验证 reCAPTCHA? (网络/反应)

    我正在构建一个 React Firebase 应用程序并使用 Firebase 的 PhoneAuthProvider 进行身份验证 在开发过程中 需要进行大量的登录和注销来测试身份验证流程 私有路由 登录重定向等 每次我需要登录时 都会向
  • FirebaseAuth.getInstance().signOut() 不注销

    我尝试从 firebase 注销用户 但在关闭应用程序并再次打开后 用户仍然处于连接状态 我尝试从 firebase 定期注销用户 但没有解决问题 我想知道是什么导致了这个问题 logout setOnClickListener new V
  • 我是否需要扩展 FirebaseInstanceIdService 才能订阅 FCM 主题?

    我想从客户端 android 应用程序 管理主题订阅 我目前正在 onCreate 活动中执行此操作 我想知道正确的方法是否是在 InstanceIdService onTokenRefresh 或任何方便的时间 单击按钮等 订阅 取消订阅
  • 调试firebase云函数

    如何使用 Visual Studio 代码进行调试firebase 数据库 trigger功能 我尝试了模拟器 但是当我调用它时出现错误 functions debug myMethod C functions functions gt f
  • 无法解析以下类的超类型

    I have android app in kotlin这给了我这个错误 错误 无法解析以下类的超类型 请确保类路径中具有所需的依赖项 com google firebase auth FirebaseAuth 类 未解析的超类型 com
  • 类型“AngularFirestoreCollection”上不存在属性“onSnapshot”

    我正在尝试将侦听器与云 Firebase 分离 但仍然收到此错误 类型 AngularFirestoreCollection 上不存在属性 onSnapshot 你知道我应该进口什么吗 我直接从 Firebase 文档中复制此代码 let
  • Firebase 托管:部署时缓存清除脚本

    我有一个托管在 firebase 上的聚合物 单页应用程序 应用程序 当我将新版本部署到 firebase 时 我希望 firebase 重新加载 javascript 源而不是使用缓存的源 是否可以通过 firebase json 做到这
  • 前台通知 android 未显示(奥利奥)

    当应用程序位于前景 当我从服务器推送通知时 会调用 onMessageReceived 方法 但是通知不显示 这是我的代码 public class MyFirebaseMessagingService extends FirebaseMe
  • Firebase 函数,admin.database().ref(...).get() 不是函数

    我正在开发一个 Android 应用程序 并使用 firebase 作为它的后端 我正在尝试让通知系统正常工作 该系统依赖于监听数据库中的更改 但遇到问题 因为我收到以下错误 想知道是否有人能够提供帮助 可以提供任何额外的代码 Fireba
  • 没有为类型“Object”定义运算符“[]”。尝试定义运算符“[]”

    我的代码在下面给出了我在这一行中从 firebase 访问用户名时遇到的问题的错误 snapshot data username 它给出了上面提到的错误 我知道访问地图数据的唯一方法是这个 FutureBuilder future Fire
  • Firebase GAS webapp Google 弹出窗口消失

    我正在尝试升级我的 firebase GAS web 应用程序 之前我有一个弹出窗口 可以让用户使用 Google 登录 我不确定我做错了什么 但我已经升级到新的 firebase 现在正在尝试使用新的代码格式进行相同的登录 发生的情况是
  • 如何在列表视图中滚动添加更多项目?

    这里的代码当前加载了存储在 Firestore 集合中的所有啤酒 我如何最初只加载 10 个啤酒 然后当用户向下滚动并到达 10 个啤酒列表的末尾时 它应该加载最后一次酿造后还有 10 杯 并且酿造应根据时间戳进行排序 class Brew
  • Firebase无法组合调用 equalTo() 和 startAt() [重复]

    这个问题在这里已经有答案了 我有一个 Firebase 数据库 我正在尝试查询 但是我在运行时收到错误消息 java lang IllegalArgumentException Can t call equalTo and startAt
  • 是否可以使用 Firebase 安排推送通知? [复制]

    这个问题在这里已经有答案了 我已经阅读了我能找到的所有文档 但仍然不知道这是否可行 如果我是用户 我可以安排特定时间的推送通知吗 Example 1 我是用户并打开应用程序 2 我允许通知并转到 pickerView 或其他任何内容 并设置
  • Firebase 身份验证问题 - 通过电子邮件地址检查用户是否存在

    我在 Firebase 上创建了一个帐户 它有效 但现在我想阻止人们使用已存在的电子邮件地址创建帐户 这是代码 DatabaseManager shared userExists with email completion weak sel
  • 模块中的类无法加载

    我正在开发一个 2D Unity android 游戏 其中我最近添加了 Firebase Beta SDK 但添加后FirebaseAnalytics unitypackage我面临的错误是 无法加载模块中的类 当我删除文件夹时Fireb

随机推荐