MongoDB — это база данных NoSQL, которая поддерживает различные методы хранения и извлечения данных, как и другие базы данных. MongoDB хранит данные в виде документов, и как только документ создается в коллекции; вы можете получать данные с помощью запросов MongoDB. Шаблон получения MongoDB такой же, как и для любой базы данных SQL, но синтаксис отличается. Для получения информации в MongoDB используется метод.find ().
В этой статье мы рассмотрим запросы MongoDB для получения необходимых данных из баз данных MongoDB. Это руководство состоит из нескольких разделов, которые помогают запрашивать документ из MongoDB.
Прежде чем углубляться в детали, давайте посмотрим на предварительные условия для запроса документов в MongoDB:
Предпосылки
Для получения данных из баз данных на основе MongoDB в вашей системе Ubuntu должны быть следующие вещи:
Оболочка Mongo: оболочка Mongo должна быть в неактивном состоянии для выполнения запросов.
База данных MongoDB: для выполнения любой операции должна быть установлена база данных на основе Mongo.
- Как запросить документ в базе данных на основе MongoDB
- Шаг 1. Создайте базу данных
- Шаг 2. Создайте коллекцию и вставьте документ в коллекцию
- Как запросить документ в MongoDB
- Как получить все документы из MongoDB Collection
- Как получить единый документ из коллекции MongoDB
- Как использовать операторы, поддерживаемые Mongo, для запроса документа
- Заключение
Как запросить документ в базе данных на основе MongoDB
Этот раздел содержит процедурное руководство по извлечению данных из базы данных MongoDB: первые два шага необходимы для продолжения работы с этим руководством.
Примечание: вы можете пропустить эти шаги, если вы их уже выполнили:
Шаг 1. Создайте базу данных
Во-первых, перейдите к оболочке mongo; вы можете использовать следующую команду для создания базы данных; мы создали базу данных под названием » test «:
> use test
Шаг 2. Создайте коллекцию и вставьте документ в коллекцию
После создания базы данных используйте следующую команду оболочки mongo для создания коллекции; здесь коллекция называется » mycollection «:
> db.createCollection(«mycollection»)
После создания коллекции вставьте документы в коллекцию » mycollection » с помощью метода вставки:
Следующая команда позволяет создать два документа в коллекции » mycollection «:
> db.mycollection.insert([{«title»: «linuxhint», «description»: «best linux content provider», «type»: «linux»},{«name»: «john», «description»: «Author at linuxhint», «type»: «ubuntu»}])
Как запросить документ в MongoDB
После выполнения вышеуказанных шагов теперь вы можете применить несколько методов MongoDB, которые помогают запрашивать документ:
Как получить все документы из MongoDB Collection
Получить все документы из коллекции; MongoDB поддерживает два метода:
— find (): находит документы и отображает результат в неструктурированном формате
— pretty (): находит документы и отображает результат в структурированном формате.
Оба метода описаны здесь с примерами:
Метод » find () » MongoDB отображает все документы в неструктурированном виде; синтаксис этого метода написан ниже:
db.[name—of—collection].find()
» Имя-коллекции » относится к имени коллекции, из которой будет извлечен документ; Например, следующая команда оболочки mongo поможет отобразить все документы из коллекции » mycollection «:
> db.mycollection.find()
Метод » pretty () » является расширением метода » find () » и помогает отображать структурированный формат документов. Синтаксис этого метода написан ниже:
db.[name—of—collection].find().pretty()
В нашем случае мы выполнили следующую команду, чтобы получить документы из коллекции » mycollection «:
> db.mycollection.find().pretty()
Как получить единый документ из коллекции MongoDB
Есть еще один метод под названием » findOne () «, который помогает получить отдельный документ. Синтаксис этого метода описан ниже:
db.[name—of—collection].findOne()
Упомянутая ниже команда получит данные из коллекции » mycollection » тестовой базы данных:
> db.mycollection.findOne()
Как использовать операторы, поддерживаемые Mongo, для запроса документа
Помимо вышеперечисленных методов; вы можете использовать несколько операторов, поддерживаемых MongoDB, и эти операторы можно использовать с методом find () для получения более совершенной формы документов. Например, оператор » $ eq » напечатает документ, который точно соответствует нашему требуемому результату; синтаксис для использования этого оператора упомянут ниже:
{«key»:{$eq:«value»}}
Примечание: сделать любой оператор функциональным; они помещаются внутри метода find ().
Упомянутая ниже команда отобразит документ, соответствующий типу » ubuntu «:
> db.mycollection.find({«type»:{$eq:«ubuntu»}}).pretty()
Примечание: красивый метод — просто получить отображение в структурированном формате.
Оператор $ lt: этот оператор используется для работы с числовыми элементами; вы можете распечатать определенные документы, которые подпадают под условие: Для применения этого оператора используется следующий синтаксис:
{«key»:{$lt:«value»}}
Точно так же есть список числовых операторов, поддерживаемых MongoDB:
Оператор $ gt: этот оператор отображает документы, которые удовлетворяют условию „больше чем“: синтаксис оператора » $ gt » описан ниже:
{«key»:{$gt:«value»}}
Более того, несколько операторов ( $ in и $ nin ) конкретно относятся к типу данных массивов: вы можете использовать их для отображения документа, фильтруя содержимое с помощью массивов:
Операторы $ in и $ nin: Оба эти оператора используются с методом find () для фильтрации документов на основе массивов:
Например, оператор $ in может использоваться для печати документа, который соответствует » ключу » с любым из указанных » значений «:
{«key»:{«value»:[«value1»,«value2»,—]}}
Аналогично, оператор $ nin находит документ, в котором » ключ » не соответствует указанным » значениям «: Синтаксис оператора $ nin такой же, как у оператора $ in:
{«key»:{«value»:[«value1»,«value2»,—]}}
Операторы OR и AND: условие OR выполняет поиск » ключей » и » значений » в коллекции и распечатывает все документы, которые содержат хотя бы один » ключ » и связанное с ним » значение «. Синтаксис указан ниже:
{$or:[{key1:value1}, {key2:value2},….]}
В то время как оператор AND соответствует только тем документам, которые содержат все » ключи » и » значения «, упомянутые в команде. Синтаксис условия И приведен ниже:
{$and:[{key1:value1}, {key2:value2}…..]}
Заключение
MongoDB обеспечивает поддержку управления нереляционными базами данных и действует иначе, чем традиционные базы данных. Как и другие базы данных, MongoDB также может запрашивать документ с помощью широкого набора методов и операторов. В этой статье вы научились запрашивать документ в MongoDB, используя базовые методы и операторы, поддерживаемые этими методами. Базовые методы просто печатают документы без каких-либо условий; однако, если вы хотите получить результат на условной основе; для этого вы можете использовать операторы с базовыми методами.