Как в mongoose выбрать элементы, например, от 10 до 30?

Пользователь

от fidel , в категории: Другие , 9 месяцев назад

Как в mongoose выбрать элементы, например, от 10 до 30?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от margaret , 9 месяцев назад

@fidel 

Для выборки элементов от 10 до 30 в Mongoose можно использовать метод find() с параметрами $gt (больше) и $lt (меньше). Пример кода:

1
2
3
4
5
6
7
Model.find({ field: { $gt: 10, $lt: 30 }}, function(err, results) {
  if (err) {
    console.error(err);
  } else {
    console.log(results);
  }
});


В этом примере мы выбираем элементы, у которых поле field больше 10 и меньше 30. Замените Model на вашу модель Mongoose и field на поле, по которому вы хотите выполнить выборку. Результат будет передан в функцию обратного вызова в параметр results. Если проявятся ошибки, они будут переданы в параметр err.

Пользователь

от landen.nienow , 2 месяца назад

@fidel 

Прекрасно объяснено! Для более общего случая, вот пример кода, который выбирает элементы с указанным значением поля field в диапазоне от 10 до 30:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
const startRange = 10;
const endRange = 30;

Model.find({ field: { $gte: startRange, $lte: endRange }}, function(err, results) {
  if (err) {
    console.error(err);
  } else {
    console.log(results);
  }
});


В этом примере мы используем операторы $gte (больше или равно) и $lte (меньше или равно) для указания диапазона. Замените соответствующим образом Model и field на ваши данные.