как найти два значения между диапазоном в mongodb

#arrays #mongodb #mongodb-query

#массивы #mongodb #mongodb-запрос

Вопрос:

Я хочу перечислить идентификаторы, в которых у него всего 12-18 отзывов.

В базе данных это отображается как

 **"example" : [
5,
10
],**
  

5, 10 — это количество отзывов
итак, 5 означает 5 отзывов из 10 просмотров.

Я пробовал следующее, однако это не работает.

 db.student.find({ u1 : { $gt :  5, $lt : 10}});
  

есть кто-нибудь, кто может помочь?

Комментарии:

1. Взгляните на этот документ о точечной нотации docs.mongodb.com/manual/core/document/#document-dot-notation

2. @rodrigoap Я пробовал точечную нотацию, однако это не работает. Я только хочу, чтобы число, где в моем примере 10, было максимальным 18 или минимальным 12

3. Можете ли вы отредактировать свой вопрос, чтобы показать, что вы пытаетесь использовать точечную нотацию?

4. Попробуйте использовать оператор $и. docs.mongodb.com/manual/reference/operator/query/and

5. можете ли вы уточнить, документ JSON и ожидаемый результат

Ответ №1:

Этот запрос выдаст вам документы с: количеством просмотров: от 4 до 7 И количеством просмотров: от 10 до 20.

 db.getCollection("student").find({
    "example.0":{$gt:4, $lt:7}, 
    "example.1":{$gt:10, $lt:20}
})
  

Я думаю, вы можете изменить приведенный выше запрос в соответствии с вашими потребностями, поскольку ваш вопрос мне не совсем понятен.