Вы пробовали mongodump
? Вы просто набираете это:
mongodump
И затем он создает резервные копии всех ваших баз данных в папке dump
в каталоге, в котором вы его запустили. Затем вы можете восстановить его с помощью mongorestore
. Для получения дополнительной информации см. Резервную копию с разделом mongodump документации MongoDB.
Для запуска из Node
вам нужно просто вызвать mongodump
из файла Node
. Если бы это был мой main.js
файл:
// main.js
const { exec } = require("child_process");
exec("mongodump", (error, stdout, stderr) => {
if (error) {
console.log(`error: ${error.message}`);
return;
}
if (stderr) {
console.log(`stderr: ${stderr}`);
return;
}
console.log(`stdout: ${stdout}`);
});
Тогда я мог бы запустить:
node main.js
И он сгенерирует папку dump
со всеми моими базами данных в любом каталоге Я запустил команду.
Вот ее рисунок на моей машине:
Другой вариант, как упомянуто в комментариях Джо Драмгул , mongoexport
, что даст вам вывод в удобочитаемом формате. Итак, если вы хотите, чтобы все документы из коллекции users
в вашей базе данных todo-api
, вы использовали бы эту команду:
mongoexport -v -d todo-api -c users -o 'todo.backup.json' --pretty
И это сгенерирует файл JSON в todo.backup.json
из коллекции users
в базе данных todo-api
.
Вот как это выглядит на моей машине:
Если вам нужно извлечь данные из Atlas Cluster MongoDB, вот документы, которые они предоставляют (обратите внимание, что некоторая информация здесь относится к моей БД, вам нужно будет использовать ваши собственные данные):
Инструменты импорта и экспорта данных
Замените ПАРОЛЬ паролем администратора, DATABASE - именем базы данных, которую вы будете sh для импорта / экспорта в ваш кластер, и COLLECTION с именем коллекции, которую вы sh будете импортировать / экспортировать в ваш кластер. Замените FILETYPE на json или csv, чтобы указать тип файла. Если применимо, замените FILENAME на местоположение и имя выходного файла (для экспорта) или источника данных (для импорта). ПРИМЕЧАНИЕ. При экспорте или импорте данных CSV часто требуется дополнительный флаг --fields. Дополнительные сведения см. В документации по инструменту Speci c.
mongoexport | производит JSON или CSV-экспорт данных, хранящихся в экземпляре MongoDB
Вот несколько скриншотов, где можно найти эту информацию на текущей странице Atlas Culsters:
mongoexport --host Atlas-Free-Cluster-shard-0/atlas-free-cluster-shard-00-00-czaoo.mongodb.net:27017,atlas-free-cluster-shard-00-01-czaoo.mongodb.net:27017,atlas-free-cluster-shard-00-02-czaoo.mongodb.net:27017 --ssl --username taskapp --password <PASSWORD> --authenticationDatabase admin --db <DATABASE> --collection <COLLECTION> --type <FILETYPE> --out <FILENAME>