Как выполнить соединение с MongoDB?

В этом руководстве мы узнаем, что такое схема базы данных и почему они используются Изучение

MongoDB — это база данных типа NoSQL, и предполагается, что эти базы данных не соответствуют СУБД (системам управления реляционными базами данных) и, следовательно, не предоставляют обширных методов JOIN. Однако концепция JOIN в MongoDB основана на базах данных SQL, поскольку изначально сам MongoDB не предоставлял никакого метода соединения. Вы можете СОЕДИНЯТЬ две коллекции в MongoDB с помощью оператора агрегирования $ lookup.

Одна коллекция не может описывать данные, хранящиеся в ней; одна коллекция может содержать такие поля, которые должны быть связаны с полем другой коллекции для описания этого поля. Для этого вы можете использовать оператор $ lookup метода агрегации. Однако после введения оператора $ lookup пользователи могут получать доступ к присоединению в MongoDB.

В этой статье мы кратко объяснили использование оператора $ lookup, и представлены несколько примеров, показывающих механизм присоединения MongoDB.

Как работает соединение в MongoDB

В этом разделе представлен основной рабочий механизм оператора $ lookup, который используется в методе агрегирования для выполнения соединения в MongoDB. Синтаксис представлен ниже:

Синтаксис

>db.collectionname.aggregate([
{
$lookup:
{
from,
localField:

foreignField:
,
as«array-field»
}
}
])

Здесь объясняются термины, используемые в синтаксисе:

– collection-name: имя коллекции, в которой вы присутствуете, или применяется оператор $ lookup.

– from из Коллекции, к которой вы собираетесь присоединиться

– localField:  представляет поле документа в текущей коллекции, которое будет использоваться для сопоставления с другими коллекциями.

– foreign field: поле коллекции (для объединения), которое может представлять весь документ. (уникальный идентификатор)

– as: содержит поле массива, которое создается после присоединения

В следующем разделе будет продемонстрировано объединение двух коллекций в базу данных MongoDB.

Prerequisites

Как упоминалось ранее, с помощью оператора $ lookup можно сопоставить две коллекции базы данных. Итак, для выполнения этой операции вам потребуются две коллекции из базы данных.

В этом посте мы использовали » персонал » и » информация » как набор базы данных » linuxhint «. Будьте осторожны при выборе коллекции, потому что вы можете объединить только две коллекции, которые находятся в одной базе данных.

Коллекция » Staff » содержит следующие документы: указанная ниже команда используется для извлечения документов из коллекции » Staff «.

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

А содержимое второй коллекции » info » отображается следующей командой:

> db.info.find().pretty()

Как объединить две коллекции в MongoDB

В этом разделе вы научитесь выполнять соединение в MongoDB. Для этого мы выполнили действие, чтобы объединить коллекцию » персонал » с коллекцией » информация «.

В приведенной ниже команде агрегатный метод выполняет оператор $ lookup для получения информации из обеих коллекций и объединяет их при выполнении следующего условия:

Если » localField » коллекции » staff » совпадает с » foreignField » коллекции » info «.

>db.staff.aggregate([
{
$lookup:
{
from«info»,
localField: «_id»,
foreignField: «_id»,
as«Staff_info»
}
}
])

Объединение можно увидеть в разделе вывода на вставленном ниже изображении. Мы использовали следующий ярлык, чтобы лучше понять.

Метки » Ввод » и » Выход » показывают вставленную команду и ее результат соответственно. Данные обеих коллекций после объединения также маркируются, а поле массива » Staff_info » содержит данные коллекции » info » после объединения.

Данные обеих коллекций после объединения также маркируютс

Заключение

MongoDB хорошо известна благодаря обширной поддержке обработки данных внутри базы данных. Однако он не поддерживает никаких специальных методов для объединения коллекций, как в базах данных на основе SQL. В качестве альтернативы соединению MongoDB поддерживает оператор $ lookup, который можно использовать в методе агрегирования для выполнения левого соединения. В этом руководстве из серии MongoDB мы объяснили рабочий феномен оператора $ lookup в методе агрегирования. Следуя этому руководству, энтузиаст монго сможет объединить одну коллекцию с другой.

Читайте также:  10 самых популярных инструментов анализа больших данных
Оцените статью
bestprogrammer.ru
Добавить комментарий