MongoDB. Поиск данных
Данный материал предоставлен сайтом
PacificSky.Ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Поиск информации в базе данных MongoDB.
Для поиск информации в базе данных Mongo DB необходимо воспользоваться методом find().
Допустим у нас есть база данных "posts" с публикациями (Дополните базу данных своими значениями на основании примера из статьи MongoDB. Добавление данных).
После того, как база данных наполнена данными.
Выполним поиск по публикациям, у которых рейтинг равен 20:
В результате вам будут возвращены все публикации с рейтингом 20:
Теперь выполним поиск по нескольким параметрам (rate и title).
Найдем все публикации у которых рейтинг 20 и заголовок "Заголовок публикации".
Результат выполнения данного запроса:
Допустим вникла такая ситуация, в которой нам нужно получить публикацию у которой рейтинг 20 и заголовок "Заголовок публикации", но нам нужны не все поля, а только значение поля title и description.
В данном случае запрос будет выглядеть следующим образом:
В результате мы получаем запись с необходимым рейтингом, заголовком и получаем только значения полей title и description.
Как вы можете видеть в результате выполнения запроса мы получили еще и значение поля _id.
Для того, чтобы исключить значения поля _id необходимо передать ключ _id со значением 0.
Теперь мы получили ту же запись со значениями title, description, но без значения поля _id.
Поиск данных по идентификатору:
Для поиска объекта в базе данных по идентификатору необходимо выполнить запрос:
Где 5e21c56b9891f84be6e23550 - это идентификатор вашего объекта.
Результат выполнения:
Выбор всех публикаций у который рейтинг больше или равно 20:
Результат:
Выбор всех публикаций с рейтингом больше или равно 20 и меньше или равно 30:
Результат:
Вывод публикаций рейтинг которых не равен 20:
Результат:
Вывод публикаций, у которых рейтинг равен 44 и 30:
Результат:
Для поиск информации в базе данных 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] }}, {})
Результат:
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.