Saltar al contenido

Copiar la base de datos de MongoDB en la máquina local

Solución:

Hago esto creando un volcado de la base de datos remota en mi máquina local, que luego restauro:

  1. Asegúrese de tener una instancia de mongo en funcionamiento (por ejemplo, correr mongod.exe desde su carpeta bin en una ventana de terminal. En mi computadora con Windows, es C: mongodb bin)

  2. Hacer un volcado desde la base de datos remota: Abra una nueva ventana de terminal, muévase a la carpeta bin nuevamente, ejecute:

    mongodump -h example.host.com --port 21018 -d dbname --username username --password yourpass

    (Cambie los parámetros para adaptarlos a su propia situación).

  3. Restaurar la base de datos volcada: Una vez que se ha realizado el volcado, ejecute el siguiente comando para que tenga una base de datos local:

    mongorestore -d theNameYouWantForYourLocalDB dumpnameOfRemoteDB

    (reemplace nameOfRemoteDB con el nombre de la base de datos remota, el mismo que en el comando anterior, y reemplace theNameYouWantForYourLocalDB con el nombre que desea que tenga su nueva base de datos local)

Hay un comando de copia de la base de datos que supongo que debería ser adecuado para sus necesidades.

db.copyDatabase("DATABASENAME", "DATABASENAME", "localhost:27018");

Alternativamente, puede detener MongoDb, copiar los archivos de la base de datos a otro servidor y ejecutar una instancia de MongoDb allí.


EDITAR 2020-04-25

Cita de la documentación de MongoDB

MongoDB 4.0 desaprueba el copydb y el clone comandos y sus ayudantes de shell mongo db.copyDatabase() y db.cloneDatabase().

Como alternativas, los usuarios pueden utilizar mongodump y mongorestore (con el mongorestore opciones --nsFrom y --nsTo) o escriba un script utilizando los controladores.

Referencia aquí

Este debería ser un comentario a la respuesta de @malla, pero no tengo suficiente reputación para comentar, así que lo estoy publicando aquí para referencia de otros.

En el paso 2, cuando intente volcar un archivo desde un servidor remoto, recuerde agregar la opción para que pueda restaurar localmente más tarde: (en mi primer intento, no lo agregué y falló, diciendo que dump db_name era no encontrado). No estoy seguro de si mi camino es eficiente o no. Pero funcionó para mí.

Paso 2:

mongodump -h example.host.com --port 21018  -d dbname --username username --password yourpass --out <path_you_want_to_dump>

Paso 3:

mongorestore -d theNameYouWantForYourLocalDB <path_you_want_to_dump> + nameOfRemoteDB
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *