MongoDB: Добавление данных в коллекцию через терминал

Представление данных в 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. Работа через терминал обеспечивает глубокое понимание структуры данных и запросов.

Что будем искать? Например,программа