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

MongoDB - это база данных с открытым исходным кодом NoSQL, доступная для использования во всех операционных системах.

Если вы изучали проектирование баз данных в школе, скорее всего, вы не научились использовать MongoDB или не приобрели большого опыта работы с базами данных NoSQL. Это неудивительно - до 1998 года многие люди даже не слышали о NoSQL, и только в 2009 году базы данных NoSQL начали набирать обороты.

Что такое NoSQL?

Аббревиатура SQL означает «язык структурированных запросов». SQL используется для выполнения математических операций с данными, хранящимися в базах данных, которые жестко структурированы по строкам и столбцам (таблицам).

Аббревиатура NoSQL, в зависимости от того, кого вы спросите, означает «не только SQL» или «не SQL». Однако тот факт, что все Можно согласиться с тем, что NoSQL используется для выполнения операций с данными, которые хранятся в базах данных, не структурированных по строкам и столбцы.

instagram viewer

Существует несколько баз данных NoSQL, но имя, которое стоит выше остальных, - MongoDB. Фактически, некоторые люди думают, что MongoDB - единственная база данных в своем роде.

Что такое MongoDB?

NoSQL поддерживает четыре различных типа баз данных: документы, хранилища ключей и значений, ориентированные на столбцы и графы. MongoDB - это база данных документов, поскольку она хранит данные в документе, подобном JSON, и, как и все базы данных, поддерживает все основные операции CRUD.

Связанный: Как база данных MongoDB может лучше организовать ваши данные

Что такое CRUD-операции?

Аббревиатура CRUD означает «создавать, читать, обновлять и удалять». CRUD представляет четыре основных функциональных требования всех баз данных. Если вы используете базу данных, которая не позволяет создавать, читать, обновлять или удалять записи, то это не база данных.

Скачать MongoDB

Прежде чем вы сможете выполнять какие-либо операции CRUD в MongoDB, вам необходимо загрузить и установить MongoDB на свой устройства (или используйте доступную облачную версию), запустите сервер MongoDB, подключитесь к нему и, наконец, создайте новый база данных.

Сервер MongoDB можно скачать с официального Сайт MongoDB.

Запуск сервера MongoDB

Запустите сервер MongoDB из консоли вашей IDE.


/Users/Administrator/mongodb/bin/mongod.exe --dbpath = / Users / Administrator / mongodb-data

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

Вторая половина кода (разделенная пробелом) - это еще один путь. Этот путь ведет к «mongodb-data», файлу, который вам нужно создать самостоятельно. Этот файл будет содержать все данные, которые созданы в нашей базе данных.

Наш файл называется «mongodb-data», но имя может быть любым, как вы считаете подходящим.

Выполнение приведенного выше кода должно привести к появлению нескольких строк кода, но две строки, на которые нужно обратить пристальное внимание, можно увидеть ниже:


{"t": {"$ date": "2021-04-14T18: 10: 11.779-05: 00"}, "s": "I", "c": "NETWORK", "id": 23015, "ctx": "listener", "msg": "Прослушивание", "attr": {"address": "127.0.0.1"}}
{"t": {"$ date": "2021-04-14T18: 10: 11.797-05: 00"}, "s": "I", "c": "NETWORK", "id": 23016, "ctx": "listener", "msg": "Ожидание соединений", "attr": {"port": 27017, "ssl": "off"}}

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

Выполнение операций CRUD

Теперь, когда наш сервер MongoDB запущен и работает, мы можем подключиться к нему (используя соответствующий драйвер) и начать выполнение операций CRUD. В этой статье мы создадим простую базу данных пользователей, в которой будут храниться имена и возраст наших пользователей.

Создание пользователя

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

Однако, если цель состоит в том, чтобы создать более одного пользователя одновременно, тогда insertMany метод - лучший вариант.

Пример метода MongoDB insertOne


// импортируем mongodb и используем деструктуризацию, чтобы получить функцию MongoClient
const {MongoClient} = требуется ("mongodb");
// URL подключения и база данных, к которой мы собираемся подключиться
const connectionURL = 'mongodb: //127.0.0.1: 27017';
const databaseName = 'пользователь-менеджер';
// использование функции подключения в MongoClient для подключения к серверу MongoDB
MongoClient.connect (connectionURL, {useUnifiedTopology: true}, (error, client) => {
// проверяем, установлено ли соединение
if (error) {
return console.log («Не удалось подключиться к базе данных»);
}
// доступ к базе данных диспетчера пользователей
const db = client.db (имя_базы_данных);
// вставляем одного пользователя в базу
db.collection ('пользователи'). insertOne ({
имя: 'Джон Доу',
возраст: '28'
}, (ошибка, результат) => {
if (error) {
return console.log («Не удалось создать пользователя»);
}
console.log (result.ops);
})
})

Прежде чем мы сможем создать каких-либо пользователей, необходимо установить соединение с сервером MongoDB с помощью драйвера MongoDB того языка, который вы используете. Самый популярный драйвер, который мы используем в этом руководстве, - это драйвер NodeJS.

С первой строкой нашего кода выше мы можем использовать метод деструктуризации для получения функции MongoClient с нашего сервера.

MongoClient принимает три аргумента:

  • URL-адрес (используется для подключения к серверу MongoDB)
  • Параметры / настройки (в данном случае для переменной useUnifiedTopology устанавливается значение true, чтобы облегчить использование нового механизма обнаружения и мониторинга сервера)
  • Функция обратного вызова, которая принимает два аргумента (ошибка и клиент).

В рамках функции обратного вызова метода MongoClient мы наконец можем вставить пользователя в нашу базу данных. Но прежде чем мы дойдем до этого момента, нам нужно получить доступ к базе данных диспетчера пользователей.

Одно из преимуществ использования MongoDB заключается в том, что нет необходимости явно создавать базу данных. Как только ссылка на конкретную базу данных сгенерирована с использованием аргумента «клиент» (как показано в приведенном выше коде), вы можете начать манипулировать ею.

Ссылка на созданную нами базу данных диспетчера пользователей хранится в переменной «db», которую мы будем использовать для вставки нашего первого пользователя в базу данных.

Используя ссылку «db», мы можем создать новую коллекцию, которой присвоим имя «пользователь».

В insertOne метод принимает два обязательных аргумента; документ (пользователь) и функция обратного вызова. С insertOne метод, мы можем вставить пользователя с именем Питер Дэвис с возрастом 32, в нашу базу данных.

Функция обратного вызова принимает два аргумента (ошибка и результат). Функция результата содержит метод ops, который мы используем, чтобы увидеть пользователя, которого мы только что создали в нашей базе данных. После выполнения приведенного выше кода в консоли будет получен следующий вывод:


[{имя: 'Питер Дэвис', возраст: '32', _id: 60772f869475e84740003c45}]

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

Связанный: Чем отличается моделирование данных в MongoDB?

Чтение пользователя в MongoDB

Для чтения документов из MongoDB используются два основных метода: найти а также findOne. В найти используется для одновременного чтения нескольких документов, а findOne используется для чтения одного документа за раз.

Пример метода MongoDB findOne


// импортируем mongodb и используем деструктуризацию, чтобы получить метод MongoClient
const {MongoClient} = требуется ("mongodb");
// URL подключения и база данных, к которой мы собираемся подключиться
const connectionURL = 'mongodb: //127.0.0.1: 27017';
const databaseName = 'пользователь-менеджер';
// использование функции подключения в MongoClient для подключения к серверу MongoDB
MongoClient.connect (connectionURL, {useUnifiedTopology: true}, (error, client) => {
// проверяем, установлено ли соединение
if (error) {
return console.log («Не удалось подключиться к базе данных»);
}
// создаем базу данных менеджера пользователей
const db = client.db (имя_базы_данных);
// находим одного пользователя в базе
db.collection ('users'). findOne ({name: 'Peter Davis'}, (error, user) => {
if (error) {
return console.log («Не удалось найти пользователя»);
}
console.log (пользователь);
})
});

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

В findOne Метод принимает два обязательных аргумента. Первый аргумент содержит критерии поиска; вы можете искать документ, используя любое уникальное имя переменной. В нашем примере выше мы используем имя «Питер Дэвис».

Второй аргумент findOne метод - это функция обратного вызова, которая принимает два аргумента; первый - это ошибка, если документ не может быть найден, а второй - это документ (который мы назвали «пользователь»).

Выполнение приведенного выше кода приведет к следующему результату в консоли:


{_id: 60772f869475e84740003c45, имя: 'Питер Дэвис', возраст: '32'}

Обновление пользователя в MongoDB

В MongoDB есть два доступных метода обновления документов. Хотя структура обоих очень похожа, updateOne используется для обновления одного документа за раз и updateMany используется для одновременного обновления множества документов.

MongoDB updateOne Пример метода


// Обновляем возраст пользователя
db.collection ('users'). updateOne ({name: "Peter Davis"},
{
$ set: {
возраст: '24'
}
})

С помощью приведенного выше кода мы можем обновить возраст Питера Дэвиса до 24 лет.

Удаление пользователя в MongoDB

Есть два метода удаления документа из MongoDB. В deleteOne используется для удаления одного документа, а deleteMany используется для удаления нескольких документов.

Пример метода MongoDB deleteOne


// удаляем документ
db.collection ('пользователи'). deleteOne ({имя: 'Питер Дэвис'})

Операция удаления - это простейшая операция CRUD, которую можно выполнить в MongoDB. Как вы можете видеть в приведенном выше примере (не включая требуемый код подключения и функцию обратного вызова), для этого требуется всего одна строка кода.

Теперь вы можете выполнять операции CRUD в MongoDB

Теперь у вас есть базовые знания о MongoDB и вы знаете, что означает NoSQL. Вы также знаете, что означает аббревиатура CRUD и почему эти операции являются важными качествами каждой базы данных.

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

Кредит изображения: Александр Сослуев /WiKiMedia Commons

Электронное письмо
Чем отличается моделирование данных в MongoDB?

Рассматриваете другой подход к базам данных? Вот как работает моделирование данных в MongoDB.

Читать далее

Похожие темы
  • Программирование
  • Учебники по кодированию
  • база данных
Об авторе
Кадейша Кин (Опубликовано 9 статей)

Кадейша Кин (Kadeisha Kean) - разработчик программного обеспечения полного стека и автор технических / технологических писателей. У нее отличная способность упрощать некоторые из самых сложных технологических концепций; производство материала, понятного любому новичку в технологии. Она увлечена писательством, разработкой интересного программного обеспечения и путешествиями по миру (с помощью документальных фильмов).

Ещё от Kadeisha Kean

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!

Еще один шаг…!

Пожалуйста, подтвердите свой адрес электронной почты в электронном письме, которое мы вам только что отправили.

.