MongoDB. Поиск данных

Данный материал предоставлен сайтом PacificSky.Ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Поиск информации в базе данных MongoDB.


Для поиск информации в базе данных Mongo DB необходимо воспользоваться методом find().
Допустим у нас есть база данных "posts" с публикациями (Дополните базу данных своими значениями на основании примера из статьи MongoDB. Добавление данных).

После того, как база данных наполнена данными.
Выполним поиск по публикациям, у которых рейтинг равен 20:
db.posts.find({rate: 20}, {})

В результате вам будут возвращены все публикации с рейтингом 20:

Теперь выполним поиск по нескольким параметрам (rate и title).
Найдем все публикации у которых рейтинг 20 и заголовок "Заголовок публикации".
 db.posts.find({rate: 20, title: "Заголовок публикации"}, {})

Результат выполнения данного запроса:

Вывод необходимых полей.


Допустим вникла такая ситуация, в которой нам нужно получить публикацию у которой рейтинг 20 и заголовок "Заголовок публикации", но нам нужны не все поля, а только значение поля title и description.
В данном случае запрос будет выглядеть следующим образом:
db.posts.find({rate: 20, title: "Заголовок публикации"}, {title: 1, description: 1})

В результате мы получаем запись с необходимым рейтингом, заголовком и получаем только значения полей title и description.

Как вы можете видеть в результате выполнения запроса мы получили еще и значение поля _id.
Для того, чтобы исключить значения поля _id необходимо передать ключ _id со значением 0.
db.posts.find({rate: 20, title: "Заголовок публикации"}, {title: 1, description: 1, _id: 0})

Теперь мы получили ту же запись со значениями title, description, но без значения поля _id.

Поиск данных по идентификатору:
Для поиска объекта в базе данных по идентификатору необходимо выполнить запрос:
db.posts.find({_id: ObjectId("5e21c56b9891f84be6e23550")}, {})

Где 5e21c56b9891f84be6e23550 - это идентификатор вашего объекта.
Результат выполнения:

Запросы с условием


  • $lt — меньше
  • $lte — меньше или равно
  • $gt — больше
  • $gte — больше или равно
  • $ne — не равно

Выбор всех публикаций у который рейтинг больше или равно 20:
 db.posts.find({rate: {$gte: 20}}, {})

Результат:

Выбор всех публикаций с рейтингом больше или равно 20 и меньше или равно 30:
db.posts.find({rate: {$gte: 20, $lte: 30}}, {})

Результат:

Вывод публикаций рейтинг которых не равен 20:
db.posts.find({rate: {$ne: 20}}, {})

Результат:

Вывод публикаций, у которых рейтинг равен 44 и 30:
db.posts.find({rate: { $in: [44, 30] }}, {})

Результат:
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.