Простые способы копирования базы данных MongoDB в версии 4.2 и более поздних версиях

MongoDB — популярная документно-ориентированная база данных, обеспечивающая эффективное и масштабируемое хранилище. Если вы используете MongoDB версии 4.2 или новее и вам необходимо скопировать базу данных, вы можете использовать несколько простых методов. В этой статье мы рассмотрим несколько подходов, сопровождаемых разговорными объяснениями и примерами кода, которые помогут вам без проблем дублировать базу данных MongoDB.

Метод 1: использование mongodump и mongorestore

Утилиты mongodump и mongorestore — это мощные инструменты MongoDB для создания резервных копий и восстановления данных соответственно. Чтобы скопировать базу данных с помощью этих команд, выполните следующие действия:

Шаг 1. Выполните следующую команду, чтобы создать резервную копию исходной базы данных:

mongodump --db <source_database> --out <backup_directory>

Шаг 2. После завершения резервного копирования используйте следующую команду для восстановления данных в новую базу данных:

mongorestore --db <destination_database> <backup_directory>/<source_database>

Метод 2: экспорт и импорт файлов JSON или CSV

Другой подход — экспортировать данные MongoDB в файлы JSON или CSV, а затем импортировать их в новую базу данных. Вот как это можно сделать:

Шаг 1. Экспортируйте данные из исходной базы данных в файл с помощью команды mongoexport:

mongoexport --db <source_database> --collection <collection_name> --out <export_file.json/csv>

Шаг 2. Чтобы импортировать экспортированные данные в новую базу данных, используйте команду mongoimport:

mongoimport --db <destination_database> --collection <collection_name> --file <export_file.json/csv>

Метод 3: использование наборов реплик

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

Шаг 1. Подключитесь к основному узлу вашего набора реплик с помощью оболочки MongoDB или клиента MongoDB.

Шаг 2. Введите команду rsync, чтобы клонировать данные из исходной базы данных в целевую базу данных:

rsync -av --exclude='local*' --exclude='admin*' --exclude='config*' <source_primary_node> <destination_primary_node>

Метод 4: использование команды copyDatabase

В MongoDB вы можете использовать команду copyDatabase для дублирования базы данных с одного сервера на другой. Вот пример:

Шаг 1. Подключитесь к исходной базе данных с помощью оболочки MongoDB или клиента MongoDB.

Шаг 2. Выполните команду copyDatabase, чтобы скопировать базу данных в нужное место:

db.adminCommand({ copydb: 1, fromdb: "<source_database>", todb: "<destination_database>", fromhost: "<source_host>" })

Копировать базу данных MongoDB версии 4.2 и более поздних версий можно различными способами, каждый из которых имеет свои преимущества. Используя такие инструменты, как mongodump и mongorestore, экспортируя/импортируя файлы JSON или CSV, используя наборы реплик или команду copyDatabase, вы можете легко дублировать свои данные. Выберите метод, соответствующий вашим конкретным требованиям, и наслаждайтесь плавным процессом переноса данных.