Solución:
Hago esto creando un volcado de la base de datos remota en mi máquina local, que luego restauro:
-
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) -
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).
-
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 elclon
e comandos y sus ayudantes de shell mongodb.copyDatabase()
ydb.cloneDatabase()
.Como alternativas, los usuarios pueden utilizar
mongodump
ymongorestore
(con elmongorestore
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