Управление коллекциями MongoDB – важнейший аспект эффективного управления базой данных MongoDB. Будучи системой баз данных NoSQL, MongoDB полагается на коллекции для организации и хранения данных. Независимо от того, являетесь ли вы администратором базы данных, разработчиком или пользователем, работающим с коллекциями MongoDB, эффективное управление является ключом к обеспечению оптимальной производительности, масштабируемости и целостности данных.
Перед началом работы нам необходимо подключиться к серверу MongoDB, если у вас его нет, то вы можете воспользоваться облачными серверами Serverspace и быстро развернуть свою машину и установить сервер. В панели управления вашего личного кабинета найдите и нажмите на меню с облачной платформой слева. Затем выберите кнопку Создать сервер и настройте его.
Если вы установили сервер на NIX как систему с оболочкой, то вы можете использовать следующую команду для подключения или использовать GUI версию MongoDB Compass (Как утсановить MongoDB Compass в Ubuntu):
После этого вы увидите открытый интерфейс с CLI для работы с системой СУБД!
Как работают коллекции MongoDB?
Коллекции представляют собой самостоятельные группы или папки, которые помогают хранить сущность базы данных. Они разделяют общую массу документов на выделенные группы по функциональному и содержательному признакам. БД – это файл со строгой организацией, а Коллекции – это папка с данными или BSON-файл. Этот формат файла похож на JSON, у них также есть поле и значение, где каждое из них определяется на новой строке!
Для создания первой коллекции MongoDB нам нужно переключить базу данных по умолчанию, вместо new_db написать свой ярлык:
Если база данных уже существует, то вы сделаете ее по умолчанию для следующих операций, а если ее нет, то она будет создана. Идем дальше, теперь мы можем создавать коллекции двумя способами: явно и неявно. В первом случае мы воспользуемся командой:
Эта команда создает в базе данных по умолчанию коллекцию с именем ‘ff’. Чтобы убедиться, что все работает правильно, нам нужно составить список наших коллекций:
Также мы можем использовать второй способ, который в некоторых случаях помогает оптимизировать наши действия. Неявный способ подразумевает добавление данных в коллекцию doesn’t existed, а СУБД в процессе их добавления создает эту папку:
Как мы видим, наша коллекция создана и имеет BSON-документ с полями, которые вы можете заменить на свои значения!
Как найти все записи в коллекции MongoDB?
В случае, когда нам нужно перечислить все созданные документы, мы можем использовать команду с функцией find():
Если вы хотите искать документы по определяющим признакам, то прочтите нашу инструкцию на эту тему!
Как редактировать коллекцию в MongoDB?
Для этого случая мы можем использовать четыре варианта управления документами в наших коллекциях:
- заменить все документы на новые, указав их признаки;
- обновить документ для новых значений;
- удалить документы вообще или удалить по признакам.
Для замены документа на новый мы будем использовать команду follow, которая подходит для ручной работы с документами в коллекции:
Бывают случаи, когда нам нужно отредактировать только одно или несколько полей документа, для этого мы используем оператор $set в следующей команде:
Для удаления одного документа существует команда deleteOne({filter}). По ней мы можем использовать фильтр для удаления первого искомого документа, также поддерживается регулярное выражение:
А если мы хотим удалить все документы в коллекциях, то оставляем опции пустыми:
Для удаления коллекций с базой данных используйте следующую команду:
В заключение следует отметить, что эффективное управление коллекциями MongoDB необходимо для поддержания эффективности работы базы данных MongoDB. Являясь основой системы баз данных NoSQL MongoDB, коллекции играют ключевую роль в организации и хранении данных. Независимо от того, являетесь ли вы администратором базы данных, разработчиком или пользователем, непосредственно взаимодействующим с коллекциями MongoDB, умелое управление ими имеет решающее значение для обеспечения оптимальной производительности, масштабируемости и целостности данных.