Dan*_*e B 3 go firebase google-cloud-firestore
我的 Firestore 集合包含带有字符串字段的文档,该字段可以为null。
我期待如果我查询:
Collection("products").Where("producedDate", "<", "2018-01-15")
Run Code Online (Sandbox Code Playgroud)
我会得到“producedDate”早于“2018-10-15”的所有产品,包括那些“producedDate”为空的产品。
但实际上我没有得到nulls。
这是故意的还是一个错误?
它旨在以这种方式工作。该文件指出:
当查询涉及具有混合类型值的字段时,Cloud Firestore 使用基于内部表示的确定性排序。以下列表显示了顺序:
- 空值
- 布尔值
- 整数和浮点值,按数字顺序排序
- 日期值
- 文本字符串值
- [...]
请注意,当您使用混合类型的值运行查询时,它仅遵循此顺序。在您的查询中,您正在传递一个Date值,这意味着它只会查询类型的值, 而不是其他Date 类型的值(null例如)。
为了获取null值,您可以通过添加第二个来创建复合查询Where:
Collection("products").Where("producedDate", "<", "2018-01-15").Where("producedDate", "==", null)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2881 次 |
| 最近记录: |