Mongo $gt、$lt 查询不适用于 NumberInt
Mongo $gt, $lt query not working for NumberInt
这是我的截图,
我不明白为什么有时将值存储为数字,有时存储为 NumberInt。
当我尝试使用此查询进行搜索时
{
"price.egglessPrice" : { '$gt' : 360, '$lt':370}
}
我总是得到包括上面截图在内的结果。但这不是正确的答案。没有价格在360到370之间。
数字值的不同数据类型背后的原因取决于您存储值的方式。你必须在这里使用 $elemMatch 来匹配结果:
db.collection.find({
price: {
$elemMatch: {egglessPrice: { $gt: 360, $lt: 370}}
}
});
这是我的截图, 我不明白为什么有时将值存储为数字,有时存储为 NumberInt。
当我尝试使用此查询进行搜索时
{
"price.egglessPrice" : { '$gt' : 360, '$lt':370}
}
我总是得到包括上面截图在内的结果。但这不是正确的答案。没有价格在360到370之间。
数字值的不同数据类型背后的原因取决于您存储值的方式。你必须在这里使用 $elemMatch 来匹配结果:
db.collection.find({
price: {
$elemMatch: {egglessPrice: { $gt: 360, $lt: 370}}
}
});