Как использовать оператор $ exists в MongoDB

Плюсы и минусы функционального программирования База данных

MongoDB, являющаяся базой данных NoSQL, поддерживает множество классов операторов для извлечения данных из базы данных. Класс элемента запроса в одном из них; он состоит из двух операторов; $ существует и $ type. Оператор $ exists вступает в действие, когда вы хотите получить документы, содержащие или не содержащие поля (указанные в запросе $ exists). Основа команды $ exists основана на логических значениях, которые определяют вывод в соответствии с требованиями пользователя.

Использование оператора $ exists не ограничивается только получением или игнорированием всего документа на основе одного поля. Вывод можно улучшить, используя $ exists с несколькими операторами сравнения, такими как $ gt, $ lt, $ eq, $ nin.

Эта статья призвана дать более глубокое представление об операторе $ exists в MongoDB:

Как работает оператор $ exists

Основная функция оператора $ exists в MongoDB — проверять наличие любого поля в документе. Оператор $ exists работает на основе логических значений, то есть true или false. Синтаксис оператора приведен ниже:

{field{$exists: «Boolean-Value»}}

Если передано значение » истина «, то отображаются все документы с указанным полем. Однако, если для логического значения установлено значение » false «, печатаются документы, отличные от указанного поля.

Как использовать оператор $ exists в MongoDB

Перед тем, как начать; требуется подключиться к базе данных MongoDB и получить содержимое этой базы данных, к которой будет применен оператор $ exists.

База данных, используемая в этой статье, называется linuxhint.

И коллекция, связанная с этой базой данных: сотрудники

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

sudo mongo linuxhint

Следующий контент будет использован в этом посте в качестве примера для практики использования оператора $ exists :

> db.staff.find().pretty()

Следующий контент будет использован в этом посте в качестве примера для практики использования оператора

Пример 1. Базовое использование оператора $ exists

Функциональность $ exists зависит от переданных ему логических значений: если вы хотите получить документ, содержащий указанное поле, вы должны передать ему значение » true «. Однако, когда вы передаете значение » false » в $ exists, вы получите документы, которые не содержат указанное поле.

Этот пример демонстрирует использование » true » в операторе $ exists: запрос, упомянутый ниже, будет извлекать все те документы, которые содержат поле » experience «:

> db.staff.find({experience: {$exists: true}}).pretty()

Более того, указанная ниже команда показывает использование значения » false «, и вывод будет содержать только те документы, в которых нет поля » опыт «:

> db.staff.find({experience: {$exists: false}}).pretty()

Пример 2: использование $ существует с операторами сравнения

Этот пример демонстрирует использование команды $ exists с операторами сравнения. В этом случае результат отображается после двойных фильтров. Первый фильтр применяется, когда выполняется $ exists, а второй вступает в действие при вызове любого оператора сравнения:

Использование $ exists с оператором $ gt: этот оператор сравнения используется для отображения значений, удовлетворяющих условию » больше «. В нашей » штатной » коллекции базы данных » linuxhint «; есть поле » Зарплата «. Например, приведенный ниже запрос даст результат при следующих условиях:

Во-первых, оператор $ existsфильтрует документы, содержащие поле » Salary «:
После этого оператор $ gtраспечатает только те документы, у которых значение » Зарплата » больше » 150 «:

> db.staff.find({Salary: {$exists: true, $gt: 150}}).pretty()

Использование $ exists с оператором $ nin: оператор $ nin может также использоваться с оператором $ exists, и эти операторы работают последовательно, как показано ниже:

— Во-первых, $ exists выберет документы на основе указанного поля:

— Затем $ nin помогает распечатать документы, не содержащие указанных значений:

Например, следующая команда распечатает документы на основе поля » обозначение «; сотрудники, имеющие обозначение, отличное от » Руководитель группы «, попадут в этот запрос:

> db.staff.find({designation: {$exists: true, $nin: [«Team-lead»]}}).pretty()

Точно так же можно практиковать различные операторы сравнения с помощью команды $ exists для получения более точного вывода.

Заключение

Функция запросов в любой системе управления базами данных играет ключевую роль в извлечении данных. Поскольку у крупных организаций есть сложные формы данных, хранящиеся в их базах данных; поэтому компании предпочитают применять запросы для извлечения требуемых данных в установленные сроки. Операторы — ключевой компонент любого запроса; В этой статье мы попрактиковались в использовании оператора $ exists в MongoDB. Этот оператор можно использовать для проверки наличия полей в документах, и вы можете получить те документы, которые не содержат указанного поля. Вышеупомянутая функциональность оператора $ exists поддерживается » логическим значением «, которое может быть передано оператору.

Оцените статью
bestprogrammer.ru
Добавить комментарий