Представление данных в MongoDB
Любая запись в коллекции MongoDB представляет собой JavaScript-объект. Каждый документ — это JavaScript-объект, содержащий поля с именем и значением (например, name: "John"). Обязательное поле — _id, уникальный идентификатор, генерируемый автоматически.
Добавление данных через терминал
Для добавления одной записи используется метод insertOne(). Он принимает JavaScript-объект в качестве аргумента.
db.users.insertOne( {
name: "John",
email: "test@mail.ru",
age: 23,
isCar: true,
favColors: [
"зеленый",
"красный",
"черный"
],
child: {
name: "Jack",
surname: "Charlie",
age: 5
}
} );
Пример добавляет пользователя с различными типами данных: строками, числами, булевым значением, массивом и вложенным объектом.
Важно: Перед выполнением команд необходимо указать базу данных с помощью команды use <имя_базы_данных>. Например: use antitracker.
После выполнения insertOne(), MongoDB возвращает информацию о добавленной записи, включая сгенерированный _id. Отсутствие данных в Compass может быть связано с неправильно указанной базой данных.
Добавление нескольких записей с помощью insertMany()
Метод insertMany() позволяет добавить несколько записей одновременно. Записи передаются в виде массива JavaScript-объектов:
db.users.insertMany([
{
name: "Кириллица",
email: "test@mail.ru",
age: 25
},
{
name: "Василий",
email: "vasya@mail.ru"
}
]);
Пример добавляет двух пользователей. Обратите внимание на использование квадратных скобок []. Даже для одной записи, она должна быть передана в виде массива.
Эластичность коллекции MongoDB
В отличие от традиционных таблиц, коллекции MongoDB обладают эластичностью. Они могут содержать записи с разным количеством полей. Например, можно добавить пользователей с разными наборами атрибутов: одни будут иметь поле child, другие — password, а третьи — дату рождения. Это демонстрирует гибкость MongoDB.
Пример добавления пользователя с полем birthday:
db.users.insertOne({
name: "Джордж",
email: "admin.test@mail.ru",
age: 22,
isCar: false,
birthday: ISODate("1996-11-27")
});
При табличном отображении отсутствующие поля не отображаются, но присутствуют в документах.
Урок описывает добавление данных в коллекцию MongoDB с помощью методов insertOne() и insertMany(). Показана гибкость структуры документов в MongoDB. Работа через терминал обеспечивает глубокое понимание структуры данных и запросов.