0

这是我的屏幕截图,我不明白为什么有时将值存储为数字,有时存储为 NumberInt。

在此处输入图像描述

当我尝试使用此查询进行搜索时

{
    "price.egglessPrice" : { '$gt' : 360, '$lt':370}
}

我总是得到包括上面截图的结果。但这不正确。没有价格介于 360 到 370 之间。

4

1 回答 1

1

不同数据类型的数值背后的原因取决于您存储值的方式。你必须在这里使用$elemMatch来匹配结果:

db.collection.find({
    price: {
        $elemMatch: {egglessPrice: { $gt: 360, $lt: 370}}
    }
});
于 2015-09-29T13:03:44.617 回答