【发布时间】:2015-07-02 08:52:16
【问题描述】:
在 MongoDB 中,我想使用 $gt 和 $lt 比较运算符,其中的值可以是 null。当操作员不使用 null 时,我查找了文档但没有找到。在这两种情况下,它都没有返回任何文档(尽管 $ne、$gte 和 $lte 确实返回了文档;这意味着存在等于和不等于 null 的文档)。
我希望 $gt 基本上像 $ne 一样运行(因为 null 类型 Mongo comarison order 太低了),并且出于同样的原因 $lt 不会返回任何内容。
我希望这会起作用,因为我传递给查询的值是可变的(可能是 null),我不想为 null。
我所期待的示例,给定以下集合:
{
id: 1,
colNum: null
}
{
id: 2,
colNum: 72
}
{
id: 3
}
我希望得到以下查询:
db.testtable.find( { "colNum" { $gt : null } } )
返回:
{
id: 2,
colNum: 72
}
但是,没有返回任何内容。
$gt 和 $lt 似乎不适用于 null 是否有原因,或者它是 MongoDB 错误,还是它实际上应该工作并且可能存在用户错误?
【问题讨论】:
-
那么你的问题是什么?
-
哈! @SalvadorDali 好点。添加最后一段
标签: spring mongodb null spring-mongo