我的 Firestore 集合包含带有字符串字段的文档,该字段可以是null.
我期望如果我查询:
Collection("products").Where("producedDate", "<", "2018-01-15")
我将获取“生产日期”早于“2018-10-15”的所有产品,包括“生产日期”为空的产品。
但实际上我没有得到null
s.
这是有意为之还是一个错误?
它本来就是打算这样工作的。这文档 https://firebase.google.com/docs/firestore/manage-data/data-types#value_type_ordering指出:
当查询涉及到某个字段时混合类型的值, 云
Firestore 使用基于内部的确定性排序
交涉。以下列表显示了顺序:
- 空值
- 布尔值
- 整数和浮点值,按数字顺序排序
- 日期值
- 文本字符串值
- [...]
请注意,仅当您运行具有混合类型值的查询时,它才遵循此顺序。在您的查询中,您传递了一个Date
value,这意味着它只会查询的值 Date
type而不是其他人(比如null
例如)。
为了得到null
值,您可以通过添加第二个来创建复合查询Where
:
Collection("products").Where("producedDate", "<", "2018-01-15").Where("producedDate", "==", null)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)