Создание коллекции MongoDB

MongoDBMongoDBBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

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

С помощью практического подхода вы получите практический опыт работы с основными командами MongoDB, такими как use, createCollection(), insertOne(), insertMany() и drop(). К концу этого практического занятия вы будете хорошо понимать, как выполнять основные операции создания, чтения, обновления и удаления (CRUD - Create, Read, Update, Delete) в MongoDB, что создаст прочный фундамент для более сложных взаимодействий с базами данных.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL mongodb(("MongoDB")) -.-> mongodb/BasicOperationsGroup(["Basic Operations"]) mongodb(("MongoDB")) -.-> mongodb/QueryOperationsGroup(["Query Operations"]) mongodb(("MongoDB")) -.-> mongodb/DataTypesGroup(["Data Types"]) mongodb/BasicOperationsGroup -.-> mongodb/start_mongodb_shell("Start MongoDB Shell") mongodb/BasicOperationsGroup -.-> mongodb/create_database_collection("Create Database and Collection") mongodb/BasicOperationsGroup -.-> mongodb/insert_document("Insert Document") mongodb/BasicOperationsGroup -.-> mongodb/delete_document("Delete Document") mongodb/QueryOperationsGroup -.-> mongodb/find_documents("Find Documents") mongodb/DataTypesGroup -.-> mongodb/use_string_data_types("Use String Data Types") subgraph Lab Skills mongodb/start_mongodb_shell -.-> lab-420695{{"Создание коллекции MongoDB"}} mongodb/create_database_collection -.-> lab-420695{{"Создание коллекции MongoDB"}} mongodb/insert_document -.-> lab-420695{{"Создание коллекции MongoDB"}} mongodb/delete_document -.-> lab-420695{{"Создание коллекции MongoDB"}} mongodb/find_documents -.-> lab-420695{{"Создание коллекции MongoDB"}} mongodb/use_string_data_types -.-> lab-420695{{"Создание коллекции MongoDB"}} end

Запуск MongoDB Shell

Добро пожаловать в практическое занятие (лабораторную работу) по MongoDB! В этом комплексном руководстве мы рассмотрим основные операции MongoDB с использованием MongoDB Shell (mongosh). Эта практическая работа (лабораторная работа) разработана для того, чтобы предоставить практическое пошаговое введение в управление базами данных с использованием MongoDB.

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

Открытие терминала и запуск MongoDB Shell

Для начала нашего путешествия с MongoDB мы сначала запустим MongoDB Shell. Эта интерактивная среда позволяет нам напрямую взаимодействовать с нашей базой данных MongoDB с помощью команд.

Откройте терминал в вашей практической среде (лабораторной среде) и запустите MongoDB Shell, выполнив команду mongosh:

mongosh

Вывод MongoDB Shell:

Current Mongosh Log ID: 65a7f3e8f5a8a9b3c4d5e6f7
Connecting to:           mongodb://127.0.0.1:27017/
Using MongoDB:           7.0.2
Using Mongosh:           2.1.1

Исследование базовых команд MongoDB Shell

Начнем с перечисления доступных баз данных в нашей инстанции MongoDB:

Ввод в MongoDB Shell:

> show dbs

Вывод MongoDB Shell:

admin   40.00 KiB
config  12.00 KiB
local   40.00 KiB

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

Создание базы данных и коллекции

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

Переключение на новую базу данных

Мы создадим новую базу данных с именем university с помощью команды use:

Ввод в MongoDB Shell:

> use university

Вывод MongoDB Shell:

switched to db university

Команда use создает новую базу данных, если она не существует, или переключается на существующую базу данных.

Создание коллекции

Далее мы создадим коллекцию с именем students в базе данных university:

Ввод в MongoDB Shell:

> db.createCollection("students")

Вывод MongoDB Shell:

{ ok: 1 }

Проверка базы данных и коллекции

Давайте убедимся в текущей базе данных и перечислим ее коллекции:

Ввод в MongoDB Shell:

> db

Вывод MongoDB Shell:

university

Ввод в MongoDB Shell:

> show collections

Вывод MongoDB Shell:

students

Мы успешно создали новую базу данных и коллекцию, подготовив основу для наших следующих операций.

Вставка примеров документов

На этом этапе мы узнаем, как вставлять документы в нашу коллекцию students. MongoDB использует гибкую модель документов, похожую на JSON, которая позволяет создавать динамические и разнообразные структуры данных.

Вставка одного документа

Начнем с вставки одного документа о студенте с использованием метода insertOne():

Ввод в MongoDB Shell:

> db.students.insertOne({
    name: "John Doe",
    age: 22,
    major: "Computer Science",
    gpa: 3.7
})

Вывод MongoDB Shell:

{
  acknowledged: true,
  insertedId: ObjectId("...")
}

Вставка нескольких документов

Теперь давайте вставим несколько документов о студентах с использованием метода insertMany():

Ввод в MongoDB Shell:

> db.students.insertMany([
    {
        name: "Alice Smith",
        age: 21,
        major: "Data Science",
        gpa: 3.9
    },
    {
        name: "Bob Johnson",
        age: 23,
        major: "Software Engineering",
        gpa: 3.5
    }
])

Вывод MongoDB Shell:

{
  acknowledged: true,
  insertedIds: {
    '0': ObjectId("..."),
    '1': ObjectId("...")
  }
}

Проверка вставленных документов

Давайте убедимся в количестве документов и посмотрим их содержимое:

Ввод в MongoDB Shell:

> db.students.countDocuments()

Вывод MongoDB Shell:

3

Ввод в MongoDB Shell:

> db.students.find()

Вывод MongoDB Shell:

[
  {
    _id: ObjectId('674433d99d1e4f9235c1c18c'),
    name: 'John Doe',
    age: 22,
    major: 'Computer Science',
    gpa: 3.7
  },
  {
    _id: ObjectId('674433e09d1e4f9235c1c18d'),
    name: 'Alice Smith',
    age: 21,
    major: 'Data Science',
    gpa: 3.9
  },
  {
    _id: ObjectId('674433e09d1e4f9235c1c18e'),
    name: 'Bob Johnson',
    age: 23,
    major: 'Software Engineering',
    gpa: 3.5
  }
]

Просмотр статуса коллекции

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

Проверка статистики коллекции

Используйте метод stats() для получения подробной информации о коллекции:

Ввод в MongoDB Shell:

> db.students.stats()

Вывод MongoDB Shell:

{
  ns: 'university.students',
  count: 3,
  size: 456,
  avgObjSize: 152,
  storageSize: 16384,
  freeStorageSize: 0,
  capped: false,
  nindexes: 1,
  indexDetails: { _id_: {... } },
  totalIndexSize: 16384,
  indexSizes: { _id_: 16384 },
  scaleFactor: 1
}

Перечисление информации о коллекции

Показать основную информацию о коллекции:

Ввод в MongoDB Shell:

> db.students.dataSize()

Вывод MongoDB Shell:

456

Ввод в MongoDB Shell:

> db.students.count()

Вывод MongoDB Shell:

3

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

Проверить индексы коллекции:

Ввод в MongoDB Shell:

> db.students.getIndexes()

Вывод MongoDB Shell:

[
  {
    v: 2,
    key: { _id: 1 },
    name: '_id_',
    ns: 'university.students'
  }
]

Удаление тестовой коллекции

На этом последнем этапе мы покажем, как удалить коллекцию в MongoDB. Это полезно, когда вы хотите удалить целую коллекцию из своей базы данных.

Создание тестовой коллекции

Сначала создадим временную коллекцию, чтобы продемонстрировать процесс удаления:

Ввод в MongoDB Shell:

> use university

Вывод MongoDB Shell:

switched to db university

Ввод в MongoDB Shell:

> db.createCollection("temp_students")

Вывод MongoDB Shell:

{ ok: 1 }

Ввод в MongoDB Shell:

> db.temp_students.insertOne({name: "Test Student"})

Вывод MongoDB Shell:

{
  acknowledged: true,
  insertedId: ObjectId("...")
}

Удаление коллекции

Используйте метод drop(), чтобы удалить временную коллекцию:

Ввод в MongoDB Shell:

> db.temp_students.drop()

Вывод MongoDB Shell:

true

Проверка удаления коллекции

Подтвердите, что коллекция больше не существует:

Ввод в MongoDB Shell:

> show collections

Вывод MongoDB Shell:

students

Поздравляем! Вы завершили практическое занятие (лабораторную работу) по MongoDB, изучив ключевые операции, такие как создание баз данных, вставка документов, проверка статуса коллекции и удаление коллекций.

Резюме

В рамках данной лабораторной работы вы успешно приобрели ключевые навыки работы с MongoDB на практике. Вы начали с запуска MongoDB Shell, создали новую базу данных с именем "university" и добавили коллекцию "students". Затем вы практиковались в вставке одиночных и множественных документов с использованием методов insertOne() и insertMany(), что дало вам представление о создании и управлении документами.

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