2015-09-29 4 views
0

Вот мой скриншот, Я не понимаю, почему иногда значение хранится как число, а иногда и NumberInt.

enter image description here

И Когда я попробовать этот запрос для поиска

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

Я всегда получаю результат в том числе выше скриншоте. но это не правильно. Нет цены между 360 и 370.

ответ

1

Причина, по которой различают тип данных, зависит от того, как вы храните свое значение. И вы должны использовать $elemMatch здесь для соответствия результатам:

db.collection.find({ 
    price: { 
     $elemMatch: {egglessPrice: { $gt: 360, $lt: 370}} 
    } 
});