MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Копирайте/клонирайте база данни в MongoDB

В по-ранни версии на MongoDB можете да използвате copyDB команда или нейния помощен метод, db.copyDatabase() за копиране на база данни.

Оттогава MongoDB ги отхвърли. Също така, започвайки от версия 4.2, MongoDB премахна copydb командата, а следователно и db.copyDatabase() метод, което означава, че не можете да ги използвате, дори ако искате, ако използвате MongoDB 4.2 или по-нова версия.

За щастие има друг начин за копиране на база данни MongoDB.

Проверете за инструменти за база данни на MongoDB

В MongoDB можете да клонирате база данни с помощта на MongoDB Database Tools. По-конкретно, можете да използвате mongodump и mongorestore .

Инструментите за база данни на MongoDB са набор от помощни програми от командния ред за работа с MongoDB.

Ако не сте сигурни дали имате инсталирани MongoDB Database Tools, опитайте да изпълните следните команди във вашия терминал или команден ред, за да проверите:

mongodump --version
mongorestore --version

Това специално проверява за mongodump и mongorestore версии.

Ако нямате такива, можете да използвате инструкциите за инсталиране на уебсайта на MongoDB, за да инсталирате MongoDB Database Tools на вашата система.

Пример за клониране на база данни

Трябва да стартирате mongodump и mongorestore от командния ред на вашата система (например нов прозорец на терминал или команден ред). Не го стартирайте от mongo черупка.

Ето пример за код, който клонира база данни:

mongodump --archive --db=PetHotel | mongorestore --archive  --nsFrom='PetHotel.*' --nsTo='PetHouse.*'

В този случай правим резервно копие на PetHotel база данни, след което възстанови всичките й колекции в база данни, наречена PetHouse . С други думи, клонирахме PetHotel база данни като PetHouse .

Това използва mongodump за да създадете архивен файл на базата данни, след това mongorestore за да възстановите тази база данни под друго име. Направихме това, като изхвърлихме базата данни в стандартния изходен поток и прехвърлихме в mongorestore .

Ето какво прави всеки параметър:

Параметър Описание
--archive Записва изхода в определен архивен файл или, ако архивният файл не е посочен, записва в стандартния изход (stdout ). В нашия случай архивният файл е неуточнен, така че записа в стандартния изход.
--db Определя база данни за архивиране. В този случай правим резервно копие на PetHotel база данни.
--nsFrom Указва колекцията в дъмп файла. Заместващият знак звездичка (* ) определя всички колекции.
--nsTo Указва името на колекцията, която трябва да се използва във възстановената база данни.

Можете също да използвате mongodump да изхвърлите всички бази данни. За да направите това, просто стартирайте mongodump без никакви аргументи. Въпреки това, когато направите това, то не включва local и config бази данни в неговия дъмп.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. запишете IP адрес в mongoDB

  2. Разгръщане на комплекти реплики на MongoDB в региони на AWS

  3. Как да стартирате необработени mongodb команди от pymongo

  4. php mongodb пълнотекстово търсене и сортиране

  5. Намерете и пребройте елементи от колекция с Mongoose