当前位置: 首页 > 面试题库 >

使用空字段查询比较

丁翊歌
2023-03-14
问题内容

我的Firestore集合的文档带有字符串字段,该字段可以为 null

我期望如果我查询:

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

我将获取“ producedDate”早于“ 2018-10-15”的所有产品,包括那些“ producedDate”为空的产品。

但是实际上我没有得到nulls。

这是故意的还是一个错误?


问题答案:

它打算以这种方式工作。该文档指出:

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

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

请注意,仅当您使用混合类型的值运行查询时,才遵循此顺序。在查询中,您要传递一个Date值,这意味着它将仅查询 类型的* 值,
而不查询其他值(例如,值)。Date
*null

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

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


 类似资料:
  • 我知道可以使用,现在不推荐使用。类似于咆哮的代码: 另外,也许可以将手动脚本写成字符串,但我怀疑这是否是正确的解决方案。任何创建正确查询的想法都将受到欢迎。

  • 本文向大家介绍MySQL查询空字段或非空字段(is null和not null),包括了MySQL查询空字段或非空字段(is null和not null)的使用技巧和注意事项,需要的朋友参考一下 现在我们先来把test表中的一条记录的birth字段设置为空。 mysql> update test set t_birth=null where t_id=1; Query OK, 1 row affe

  • 如何使用splunk查询将日志中所需的数据提取到自定义字段中? 我尝试过使用rex命令进行多次查询,将日志中的某些部分数据提取到一些自定义字段中,但我从未在splunk显示所有输出字段的输出中看到这些数据。 请建议。

  • 问题内容: 我一直认为您可以在语句中使用它来查询MySQL中的内容。因此,如果我想将一行中的多个字段与1个关键字或字词进行比较: 如果我有一系列要比较的单词: 我不相信语法是正确的。除了类似的东西,是否有一种有效的方法可以编写此代码: 我能正确处理吗? 问题答案: 用这个::

  • 我正在努力学习GraphQL( 我只得到一级字段,比如: 以下是我的模式: 我的解析器: 知道我做错了什么吗?

  • 我正在使用MyBatis映射一些需要比较参数()的查询。 以这种方式进行的比较气味难闻。不幸的是,这是数据库建模的方式。 MyBatis版本: