10 самых используемых комманд в MongoDB

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

1. Вход в MongoDB

Следующая команда используется для входа в базу данных MongoDB. Убедитесь, что пользователь с учетными данными, такими как имя пользователя и пароль, существует в базе данных, указанной вместо dbname .

mongo -u <username> -p <password> --authenticationDatabase <dbname>

2. Показать все базы данных

После входа в систему,  с ролью userAdmin или userAdminAnyDatabase пользователь может видеть все базы данных с помощью команды, такой как:

show dbs

3. Выбор базы данных для работы

Чтобы начать работу с конкретной базой данных, нужно выполнить следующую команду:

use databaseName

4. Аутентификация и выход из базы данных

При переключении на другую базу данных с use dbName команды use dbName пользователю требуется аутентификация с использованием текущего пользователя базы данных для этой базы данных. Для аутентификации можно использовать следующую команду:

//
// Авторизация
//
db.auth("username", "password");
//
// Выход
//
db.logout()

5.  Список списков, пользователей, роли и т. д.

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

/
// Список коллекций текущей базы
//
show collections;
db.getCollectionNames();
//
// Список юзеров текущей базы
//
show users;
db.getUsers();
//
// Список всех ролей базы
//
show roles

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

Для создания коллекции можно использовать следующую команду. Подробности этой команды можно найти на этой странице .

db.createCollection("collectionName");

7. Вставка документа в коллекцию

После создания коллекции следующий шаг - вставить один или несколько документов. Ниже приведен пример команды для вставки документа в коллекцию.

//
// Вставка одного документа
//
db.<collectionName>.insert({field1: "value", field2: "value"})
//
// Вставка нескольких документов
//
db.<collectionName>.insert([{field1: "value1"}, {field1: "value2"}])
db.<collectionName>.insertMany([{field1: "value1"}, {field1: "value2"}])

8. Сохранить или обновить документ.

Команда save может использоваться для обновления существующего документа или вставки нового, в зависимости от параметра документа, переданного ему. Если _id совпадает с существующим документом, документ обновляется. В противном случае создается новый документ. Внутри метод saveиспользует либо команду insert либо команду update .

//
// Если находит _id, то обновляет, в противном случае - создает документ
//
db.<collectionName>.save({"_id": new ObjectId("jhgsdjhgdsf"), field1: "value", field2: "value"});

9. Отображение записей коллекции

Следующие команды могут использоваться для извлечения записей коллекции:

//
// Показать все записи
//
db.<collectionName>.find();
//
// Показать 10 последних записей
//
db.<collectionName>.find().limit(10);
//
// Поиск записи по определенному _id
//
db.<collectionName>.find({"_id": ObjectId("someid")});
//
// Получить значения конкретных атрибутов коллекции, передав объект, имеющий
// имена атрибутов, назначенные 1 или 0, в зависимости от того, требуется ли это значение атрибута
// для включения в вывод или нет, соответственно
//
db.<collectionName>.find({"_id": ObjectId("someid")}, {field1: 1, field2: 1});
db.<collectionName>.find({"_id": ObjectId("someid")}, {field1: 0}); // Exclude field1
//
// Подсчет записей
//
db.<collectionName>.count();

10. Административные команды

Ниже перечислены некоторые административные команды, которые могут быть полезны при поиске сведений, таких как размер хранилища, общий размер и общая статистика.

//
// Получить статистику коллекций
//
db.<collectionName>.stats()
db.printCollectionStats()
//
// С татистика задержек для операций чтения, записи, включая среднее время, затраченное на чтение, запись
// и связанное с ним количество выполненных операций
//
db.<collectionName>.latencyStats()
//
// Получить размер коллекции для данных и индексов
//
db.<collectionName>.dataSize() // Размер коллекциии
db.<collectionName>.storageSize() // Общий вес коллекции на диске
db.<collectionName>.totalSize() // Общий размер в байтах как для данных сбора, так и для индексов
db.<collectionName>.totalIndexSize() // Общий размер всех индексов в коллекции

Вот и все! Эти команды окажут большую помощь всем, кто только начинает работать с MongoDB.