23.06.2025

Как управлять коллекциями MongoDB?

Управление коллекциями MongoDB – важнейший аспект эффективного управления базой данных MongoDB. Будучи системой баз данных NoSQL, MongoDB полагается на коллекции для организации и хранения данных. Независимо от того, являетесь ли вы администратором базы данных, разработчиком или пользователем, работающим с коллекциями MongoDB, эффективное управление является ключом к обеспечению оптимальной производительности, масштабируемости и целостности данных.

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

Скриншот №1 — Создание сервера

Если вы установили сервер на NIX как систему с оболочкой, то вы можете использовать следующую команду для подключения или использовать GUI версию MongoDB Compass (Как утсановить MongoDB Compass в Ubuntu):

mongosh

После этого вы увидите открытый интерфейс с CLI для работы с системой СУБД!

Как работают коллекции MongoDB?

Коллекции представляют собой самостоятельные группы или папки, которые помогают хранить сущность базы данных. Они разделяют общую массу документов на выделенные группы по функциональному и содержательному признакам. БД – это файл со строгой организацией, а Коллекции – это папка с данными или BSON-файл. Этот формат файла похож на JSON, у них также есть поле и значение, где каждое из них определяется на новой строке!

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

use new_db

Скриншот №2— Переключить базу данных

Если база данных уже существует, то вы сделаете ее по умолчанию для следующих операций, а если ее нет, то она будет создана. Идем дальше, теперь мы можем создавать коллекции двумя способами: явно и неявно. В первом случае мы воспользуемся командой:

db.createCollection('ff')

Скриншот №3— Создание коллекции в явном виде

Эта команда создает в базе данных по умолчанию коллекцию с именем ‘ff’. Чтобы убедиться, что все работает правильно, нам нужно составить список наших коллекций:

show collections

Скриншот №4— Список коллекций

Также мы можем использовать второй способ, который в некоторых случаях помогает оптимизировать наши действия. Неявный способ подразумевает добавление данных в коллекцию doesn’t existed, а СУБД в процессе их добавления создает эту папку:

db.ff.insertOne({"name":"Andrew", "age":"66"})

Как мы видим, наша коллекция создана и имеет BSON-документ с полями, которые вы можете заменить на свои значения!

Как найти все записи в коллекции MongoDB?

В случае, когда нам нужно перечислить все созданные документы, мы можем использовать команду с функцией find():

db.ff.find()

Скриншот №5 — Найти документы

Если вы хотите искать документы по определяющим признакам, то прочтите нашу инструкцию на эту тему!

Как редактировать коллекцию в MongoDB?

Для этого случая мы можем использовать четыре варианта управления документами в наших коллекциях:

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

db.ff.replaceOne({"name":"Andrew"},{"name":"Petr"})

Скриншот №6 — Замена документа

Бывают случаи, когда нам нужно отредактировать только одно или несколько полей документа, для этого мы используем оператор $set в следующей команде:

db.ff.updateOne({name:Petr},{$set {"name":"Peter"}})

Скриншот №7 — Замена полей

Для удаления одного документа существует команда deleteOne({filter}). По ней мы можем использовать фильтр для удаления первого искомого документа, также поддерживается регулярное выражение:

db.ff.deleteOne({name:"Peter"})

А если мы хотим удалить все документы в коллекциях, то оставляем опции пустыми:

db.ff.deleteMany({})

Скриншот №8 — Удаление документов в коллекции

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

db.ff.drop

Скриншот №9 — Удаление коллекции и БД

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