Я новичок в MongoDB и хочу выбрать всех пользователей с минимальным возрастом. Что-то вроде этого:
db.users.find({age: {$min: age}})
Кажется очень простым, но я не могу найти, как это сделать.
@turivishal допустим, у меня есть 4 пользователя в возрасте 22, 35, 41, 22 года. Мне нужны 2 пользователя в возрасте 22 лет.
Насколько я понимаю, это очень простой запрос, в котором вы получаете документы, поле age
которых больше числа. Проверьте, это то, что вы ожидаете. Также отредактируйте свой вопрос, добавив пример документа и ожидаемый результат.
@Дж.Ф. это не то, что я ожидаю, извините, мой вопрос был недостаточно ясен. ответ туривишала - это то, что я искал.
$gorup
на age
и сделать массив из users
$sort
под _id
означает age
в порядке возрастания$limit
1 документdb.users.aggregate([
{
$group: {
_id: "$age",
users: { $push: "$$ROOT" }
}
},
{ $sort: { _id: 1 } },
{ $limit: 1 }
])
Хорошо работает спасибо! Я не все понимаю, но буду разбираться 🧐
Для этого вам нужно написать запрос агрегации. Для начала см. $min.