Как сделать запрос в MongoDB

MongoDB База данных

MongoDB — это база данных NoSQL, которая поддерживает различные методы хранения и извлечения данных, как и другие базы данных. MongoDB хранит данные в виде документов, и как только документ создается в коллекции; вы можете получать данные с помощью запросов MongoDB. Шаблон получения MongoDB такой же, как и для любой базы данных SQL, но синтаксис отличается. Для получения информации в MongoDB используется метод.find ().

В этой статье мы рассмотрим запросы MongoDB для получения необходимых данных из баз данных MongoDB. Это руководство состоит из нескольких разделов, которые помогают запрашивать документ из MongoDB.

Прежде чем углубляться в детали, давайте посмотрим на предварительные условия для запроса документов в MongoDB:

Предпосылки

Для получения данных из баз данных на основе MongoDB в вашей системе Ubuntu должны быть следующие вещи:

Оболочка Mongo: оболочка Mongo должна быть в неактивном состоянии для выполнения запросов.

База данных 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.[nameofcollection].find()

» Имя-коллекции » относится к имени коллекции, из которой будет извлечен документ; Например, следующая команда оболочки mongo поможет отобразить все документы из коллекции » mycollection «:

> db.mycollection.find()

Метод » pretty () » является расширением метода » find () » и помогает отображать структурированный формат документов. Синтаксис этого метода написан ниже:

db.[nameofcollection].find().pretty()

В нашем случае мы выполнили следующую команду, чтобы получить документы из коллекции » mycollection «:

> db.mycollection.find().pretty()

Как получить единый документ из коллекции MongoDB

Есть еще один метод под названием » findOne () «, который помогает получить отдельный документ. Синтаксис этого метода описан ниже:

db.[nameofcollection].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, используя базовые методы и операторы, поддерживаемые этими методами. Базовые методы просто печатают документы без каких-либо условий; однако, если вы хотите получить результат на условной основе; для этого вы можете использовать операторы с базовыми методами.

Читайте также:  Оконная функция PostgreSQL NTILE
Оцените статью
bestprogrammer.ru
Добавить комментарий