2015-10-19 5 views
2

У меня есть ниже БД как записи:Макс и мин в MongoDB

Моего Вкладыш запрос

db.collection.insert({company:"C3",model:"M3",price:55600,discount:9,resolution:"100X700",connectivity:"hdmi2",warranty:"3",image:"image2.jpg",size:50,display:"lcd",brand:"Brand4",functionality:"functionality2"}); 

есть более 2000 записей, я пытаюсь выяснить максимум и минимальную цену за вся коллекция, как показано ниже:

db.collection.find({max:{$max:"$price"}, min:{$min:"$price"}}); 

хочет вывод как {макс: 2000, мин: 5000}, пожалуйста, помогите .THANKS

+0

привет, попробовал выполнить то же самое, но это не сработало, я дал вам запрос на вставку, посмотрите –

+1

, что означало, что вы означали *, это не сработало * вы получили какую-либо ошибку сообщение? – styvane

+0

oh я вижу, я не использовал _id как null, он показывает ожидаемый результат благодаря .. –

ответ

6

Для этого вам необходимо использовать метод .aggregate().

db.collection.aggregate([ 
    { "$group": { 
     "_id": null, 
     "max": { "$max": "$price" }, 
     "min": { "$min": "$price" } 
    }} 
]) 

Поле _id является обязательным в $group стадии и найти max/min значения цены для сбора отверстия не для специальной группы, это должно быть установлено в нуль в противном случае запрос будет только return max/min для каждой группы

Смежные вопросы