Учебное пособие по MongoDB для начинающих: изучите MongoDB простыми шагами

Опубликовано: 2022-08-31

MongoDB — это база данных документов и ведущая база данных NoSQL с открытым исходным кодом. Он написан на C++ и представляет собой документно-ориентированную базу данных NoSQL, используемую для хранения больших объемов данных, управления и доставки контента, мобильных и социальных инфраструктур, управления пользовательскими данными и т. д.

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

MongoDB хранит данные в формате JSON. Его высокий спрос в основном основан на его индексе по любому атрибуту, репликации и высокой доступности, автоматическом сегментировании, расширенных запросах, быстрых обновлениях на месте и богатой поддержке сообщества. Давайте погрузимся в учебник по запросам mongodb.

Оглавление

Возможности MongoDB

Удобство использования этой базы данных, ориентированной на данные, зависит от некоторых неотъемлемых особенностей Mongo DB:

  • Каждая база данных состоит из коллекций, которые в дальнейшем содержат документы. Эти документы, их размер и содержание могут различаться в зависимости от количества полей.
  • Структура документа основана на том, как разработчики создают классы и объекты в своих программах.
  • Строки не требуют предопределенной схемы, так как вы можете создавать поля на ходу.
  • С помощью модели данных MongoDB вы можете представлять иерархические отношения для хранения массивов и других сложных структур.
  • Среды MongoDB очень масштабируемы.
  • Объекты приложения не нужно преобразовывать или сопоставлять с объектами базы данных.
  • Во внутренней памяти хранится оконный рабочий набор, упрощающий доступ к данным.
  • Структура одного объекта ясна.
  • Никаких сложных соединений нет.
  • Его глубокая способность запросов поддерживает динамические запросы к документам.

Кроме того, ознакомьтесь с нашим курсом по науке о данных, чтобы повысить свою квалификацию.

Что нужно знать о MongoDB и РСУБД

MongoDB — это ориентированная на документы межплатформенная база данных, обеспечивающая высокую производительность, эффективную масштабируемость и высокую доступность. Он работает на основе Document and Collection. Каждая база данных в MongoDB имеет свой отдельный набор файлов, и в идеале на одном сервере MongoDB может быть множество баз данных.

С другой стороны, Коллекция — это группа документов MongoDB, эквивалентная таблице СУБД. Он существует внутри одной базы данных и не применяет схему. Документы в коллекции могут иметь различные поля, и все документы в коллекции имеют связанное или сходное назначение. Набор пар ключ-значение называется документами с динамической схемой, при этом документы в одной коллекции не обязательно должны иметь одинаковый набор структур или полей.

Вы найдете взаимосвязь терминологии СУБД с MongoDB в следующей таблице.

СУБД MongoDB
База данных База данных
Кортеж Документ
Стол Коллекция
Присоединение к таблице Встроенные документы
столбец Поле
Первичный ключ Первичный ключ (MongoDB предлагает ключ по умолчанию _id)
Сервер базы данных и клиент
mysqld/Оракул монбог
mysql/sqlplus монго

Разница между базами данных MongoDB и SQL

MongoDB более гибок, чем SQL, и предлагает лучшую доступность данных. Он также портативный и расширяемый. Базы данных SQL известны своей надежностью и согласованностью. Таким образом, лучшее решение для базы данных зависит от того, в каком проекте вы участвуете.

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

MongoDB отлично подходит для работы с IoT-устройствами и мобильными/веб-приложениями. Он быстро становится предпочтительным выбором для разработчиков по всему миру благодаря своей гибкости и возможности плавного масштабирования.

В то время как базы данных SQL отлично подходят для работы со структурированными данными, Data Science и для сложных организационных задач, MongoDB удовлетворяет требованиям современных разработчиков и предприятий за счет эффективной разработки программного обеспечения или онлайн-сервисов.

Примеры использования MongoDB

Хранение вложенных структур данных

Возможность вкладывать объекты в документы — одна из замечательных возможностей MongoDB. Чтобы встраивать данные в документы, разработчики структурируют данные в MongoDB, а не разбивают их на различные коллекции.

Вот пример: -

{_id: ObjectId("5effaa5662679b5af2c58829"),

электронная почта: «[email protected]»,

имя: {дано: «Лили», семья: «Мона»},

возраст: 31 год,

адреса: [{метка: «дом»,

улица: «Бейкер-стрит, 22 1б»,

город: «Лондон»,

состояние: «ENG»,

почтовый индекс: «NW1 6XE»,

страна: «Великобритания»},

{метка: «мама»,

улица: «555 Парк Стрит»,

город: «Лейк Таун»,

провинция: «Онтарио»,

страна: «CA»}]

}

Поле имени представляет собой вложенный объект, содержащий компоненты имени и фамилии в поле адресов, где несколько адресов хранятся в одном массиве. Каждый адрес может иметь различные поля, что упрощает хранение других типов данных.

Использование оболочки MongoDB

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

Ниже вы найдете краткие примеры оболочки:

Список коллекций

> использовать my_database;

> показать коллекции;

пользователи

сообщения

>

Получение списка баз данных

> показать БД;

админ 0.000GB

конфиг 0.000GB

местный 0.000GB

моя_база данных 0,004 ГБ

>

Изучите наши популярные курсы по науке о данных

Высшая программа высшего образования в области науки о данных от IIITB Программа профессиональных сертификатов в области науки о данных для принятия бизнес-решений Магистр наук в области науки о данных Университета Аризоны
Расширенная сертификационная программа в области науки о данных от IIITB Профессиональная сертификационная программа в области науки о данных и бизнес-аналитики Университета Мэриленда. Курсы по науке о данных

Найти первый документ в коллекции

> db.users.findOne()

{

«_id»: ObjectId («5ce45d7606444f199acfba1e»),

«имя»: {дано: «Анна», семья: «Смит»},

«электронная почта»: «[email protected]»

«возраст»: 36

}

>

Подсчет документов в коллекции

> использовать my_database;

> db.users.count()

20234

>

Найти документ по ID

> db.users.findOne({_id: ObjectId("5ce45d7606444f199acfba1e")})

{

«_id»: ObjectId («5ce45d7606444f199acfba1e»),

«имя»: {дано: «Анна», семья: «Смит»},

«электронная почта»: «[email protected]»,

«возраст»: 36

}

>

Запрос коллекций MongoDB

Тот же синтаксис языка запросов MongoDB (MQL) используется в документах, которые можно использовать в расширенных запросах. Вы найдете примеры запросов MongoDB ниже:

Найдите ограниченное количество результатов

> db.users.find().limit(10)

>

Поиск пользователей по фамилии

> db.users.find({"name.family": "Смит"}).count()

1

>

Обратите внимание, что мы заключаем «name.family» в кавычки, потому что посередине стоит точка.

Запрос документов по числовым диапазонам

// Все сообщения, имеющие поле «Нравится» с числовым значением больше единицы:

> db.post.find({лайки: {$gt: 1}})

// Все посты с 0 лайками

> db.post.find({лайков: 0})

// Все посты, у которых НЕ ровно 1 лайк

> db.post.find({лайки: {$ne: 1}})

Сортировка результатов по полю

// упорядочить по возрасту, в порядке возрастания (сначала самые маленькие значения)

> db.user.find().sort({возраст: 1})

{

«_id»: ObjectId («5ce45d7606444f199acfba1e»),

«имя»: {дано: «Алекс», семья: «Смит»},

«электронная почта»: «[email protected]»,

«возраст»: 27

}

{

_id: идентификатор объекта («5effaa5662679b5af2c58829»),

электронная почта: «[email protected]»,

имя: {дано: «Джесси», семья: «Сяо»},

возраст: 31

}

>

// упорядочить по возрасту в порядке убывания (сначала самые большие значения)

> db.user.find().sort({возраст: -1})

{

_id: идентификатор объекта («5effaa5662679b5af2c58829»),

электронная почта: «[email protected]»,

имя: {дано: «Лилли», семья: «Мона»},

возраст: 31

}

{

«_id»: ObjectId («5ce45d7606444f199acfba1e»),

«имя»: {дано: «Анна», семья: «Смит»},

«электронная почта»: «[email protected]»,

«возраст»: 36

}

>

Лучшие навыки работы с данными в 2022 году

Сл. Нет Лучшие навыки работы с данными в 2022 году
1 Курс анализа данных Курсы по логической статистике
2 Программы проверки гипотез Курсы логистической регрессии
3 Курсы линейной регрессии Линейная алгебра для анализа

Вывод

Масштабируемость MongoDB делает ее одной из наиболее широко используемых баз данных, поскольку она обеспечивает ряд преимуществ в области разработки программного обеспечения и науки о данных. Карьера в этих областях является прибыльным вариантом. Программа Executive PG upGrad по науке о данных — отличное место, чтобы начать карьеру в науке о данных и других смежных областях.

Почему MongoDB так легко масштабировать?

MongoDB легко масштабировать, потому что это не база данных SQL, поскольку данные внутри MongoDB не связаны реляционно. Данные в MongoDB хранятся в автономном формате, который обеспечивает простое горизонтальное масштабирование за счет распределения этих документов по нескольким системам (узлам).

В чем разница между MongoDB и системами баз данных, такими как MariaDB и MySQL?

MongoDB — это база данных NoSQL, а MariaDB и MySQL — базы данных SQL. Кроме того, MongoDB — это нереляционная база данных, а две другие — реляционные базы данных.

Почему MongoDB так популярен?

MongoDB — неотъемлемая часть стека MERN в веб-разработке. Также легко развертывать и масштабировать проекты на MongoDB. MongoDB известна своей масштабируемостью. Он отлично подходит для любого конвейера разработки.