Учебное пособие по MongoDB для начинающих: изучите MongoDB простыми шагами
Опубликовано: 2022-08-31MongoDB — это база данных документов и ведущая база данных 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 известна своей масштабируемостью. Он отлично подходит для любого конвейера разработки.