查询与空字段的比较

2024-04-15

我的 Firestore 集合包含带有字符串字段的文档,该字段可以是null.

我期望如果我查询:

Collection("products").Where("producedDate", "<", "2018-01-15")

我将获取“生产日期”早于“2018-10-15”的所有产品,包括“生产日期”为空的产品。

但实际上我没有得到nulls.

这是有意为之还是一个错误?


它本来就是打算这样工作的。这文档 https://firebase.google.com/docs/firestore/manage-data/data-types#value_type_ordering指出:

当查询涉及到某个字段时混合类型的值, 云 Firestore 使用基于内部的确定性排序 交涉。以下列表显示了顺序:

  1. 空值
  2. 布尔值
  3. 整数和浮点值,按数字顺序排序
  4. 日期值
  5. 文本字符串值
  6. [...]

请注意,仅当您运行具有混合类型值的查询时,它才遵循此顺序。在您的查询中,您传递了一个Datevalue,这意味着它只会查询的值 Date type而不是其他人(比如null例如)。

为了得到null值,您可以通过添加第二个来创建复合查询Where:

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

查询与空字段的比较 的相关文章

随机推荐

  • 如何找到逻辑回归模型特征的重要性?

    我有一个通过逻辑回归算法训练的二元预测模型 我想知道哪些特征 预测变量 对于正类别或负类别的决策更重要 我知道有coef 参数来自 scikit learn 包 但我不知道它是否足够重要 另一件事是我如何评估coef 值对于消极类和积极类的
  • 在 R 中:带有向量变量的子集或 dplyr::filter

    df lt data frame a LETTERS 1 4 b rnorm 4 vals lt c B D 我可以过滤 子集df值在val with dplyr filter df a in vals subset df a in val
  • 将上三角矩阵转换为对称矩阵的快速方法

    我有一个上三角矩阵np float64值 像这样 array 1 2 3 4 0 5 6 7 0 0 8 9 0 0 0 10 我想将其转换为相应的对称矩阵 如下所示 array 1 2 3 4 2 5 6 7 3 6 8 9 4 7 9
  • Python:如何获取仅出现在一组列表中的一组中的项目?

    我想创建一个函数 它接受一个或多个集合的列表 并查找列表中所有集合的对称差异 即结果应该是一组值 每个值仅包含在其中一个值中套 如果我对对称差异的理解是错误的 请纠正我 例如 gt gt gt s1 set 1 2 3 gt gt gt s
  • 如何将Java项目导入到Eclipse中?

    我试图导出一个 Java 项目 我可以使用选项 Export gt Java gt JAR file 创建 JAR 文件 我无法将此 jar 文件导入到 Eclipse 中 没有 java 的导入选项 我在这里做错了什么吗 使用面向 Web
  • 使用系列查找表替换 Pandas DataFrame 列中的值

    我想用我准备的系列形式的查找表生成的更准确 完整的一组值替换 DataFrame 中的一列值 我以为我可以这样做 但结果并不如预期 这是我要修复的数据框 In 6 df normalised head 10 Out 6 code name
  • 我的代码中某处存在无限循环

    我有这个 Java 游戏服务器 最多可处理 3 000 个 tcp 连接 每个玩家或每个 tcp 连接都有自己的线程 每个线程的运行情况如下 public void run try String packet char charCur ne
  • 使用 Linq 按可变整数范围进行分组

    我试图根据整数的范围对一组数据进行分组 范围不以固定间隔增加 例如我有 商品编号 价格1 102 303 504 120 我想将价格为 0 10 11 100 和 100 500 的商品分组 因此 项目 1 在 A 组中 项目 2 3 在
  • tkinter 中从右到左的文本

    我使用的是 RTL 语言 并且我需要我的文本为 RTL 有办法做到吗 我怎样才能证明我的文字合理 例子 from tkinter import from tkinter constants import root Tk text Text
  • 使用 Fetch API 来 POST XML

    我正在尝试使用 Fetch API 来处理 XML 数据的 POST 以避免 XmlHttpRequest 的跨域问题 我面临的问题是 尽管将我的 Content Type 设置为 text xml 在本例中这是唯一受支持的内容类型标头 但
  • 如何从 jar 文件中排除属性文件?

    我有一个具有以下项目结构的java应用程序 myProject src main resources userConfig properties log4j properties target 我在用Maven构建我的项目 我在用maven
  • 使用 Google BigQuery 作为 Django 的后端

    我正在考虑使用 Google BigQuery 作为 Django 的后端 但无法确定这是否可行 以及如果可行 将应用哪些设置 目前 我的Django应用程序使用Postgresql settings py中的代码如下 DATABASES
  • 如何通过层序遍历创建二叉树?

    Given a level order列表 其中可以包括None值 如何构建二叉树 None列表中的值即None节点不能有任何子节点 left or right值 from typing import List Optional class
  • Google Plus 单点登录服务器流程 - Google_AuthException 获取 OAuth2 访问令牌时出错,消息:“invalid_grant”

    2013 年 1 月 27 日更新 听起来您可能多次发送相同的授权代码 在 Android 上 GoogleAuthUtil getToken 会缓存它检索到的所有令牌 包括授权代码 如果您请求第二个代码而不使前一个代码无效 GoogleA
  • 未捕获的类型错误:angular.lowercase 不是函数

    未捕获的类型错误 angular lowercase 不是函数 我的 angularjs 应用程序中出现此错误 并且整个应用程序未运行 这是它的表现textAngular sanitize js 413 无法调试 我尝试使用与 angula
  • BASH - 使用 Loop 和 If 语句总结唯一字段中多个字段的信息

    我有以下制表符分隔的文件 A1 A1 0 0 2 1 1 1 1 1 1 1 2 1 1 1 A2 A2 0 0 2 1 1 1 1 1 1 1 1 1 1 1 A3 A3 0 0 2 2 1 1 2 2 1 1 1 1 1 1 A5 A5
  • 网站是否有可能欺骗引用标头

    显然 请求标头可以通过客户端 任何扩展 AV 防火墙 浏览器设置等进行欺骗 我的问题是 网站所有者可以吗bad com可以创建一个 iframemywidget php 我会看到一个欺骗性的引用标头good com 欺骗将由站点所有者 例如
  • NetStream.appendBytes

    我有一个连接到 Flash Media Server 的 netConnection 我正在尝试使用 Flash Player 10 1 中的新appendBytes 函数将本地FLV 文件流式传输到FMS 但是我遇到了问题 我在网上获取的
  • 如何为ubuntu创建永久“别名”? [复制]

    这个问题在这里已经有答案了 例如 如果您创建别名 alias cls clear 它一直存在 直到您终止终端会话为止 当您启动新的终端窗口时 别名不再存在 如何创建 永久 别名 该别名存在于每个终端会话中 您可以将此类别名放入 bash a
  • 查询与空字段的比较

    我的 Firestore 集合包含带有字符串字段的文档 该字段可以是null 我期望如果我查询 Collection products Where producedDate lt 2018 01 15 我将获取 生产日期 早于 2018 1