Por lo general, creo una copia de una base de datos en el mismo clúster en la misma cuenta de esta manera:
mongodump --uri 'mongodb+srv://ACC_USER_NAME:ACC_USER_PASSWORD@cluster0.fklgt.mongodb.net/ORIGINAL_DATABASE_NAME' --archive="DUMP_FILE_NAME" --forceTableScan
mongorestore --uri 'mongodb+srv://ACC_USER_NAME:ACC_USER_PASSWORD@cluster0.fklgt.mongodb.net/ORIGINAL_DATABASE_NAME' --archive="DUMP_FILE_NAME" --nsFrom='ORIGINAL_DATABASE_NAME. ' --nsTo='NEW_DATABASE_NAME. '
Y eso funciona perfectamente.
Ahora, creé una nueva cuenta de atlas de MongoDB y estoy tratando de copiar la base de datos original en la nueva cuenta.
Así que el primer paso es similar:
mongodump --uri 'mongodb+srv://ORIGINAL_ACC_USER_NAME:ORIGINAL_ACC_USER_PASSWORD@cluster0.fklgt.mongodb.net/ORIGINAL_DATABASE_NAME' --archive="DUMP_FILE_NAME" --forceTableScan
Aquí no pude encontrar qué parámetros usar.
En el primer ejemplo, en el segundo paso, la URI es así:
mongodb+srv://ACC_USER_NAME:ACC_USER_PASSWORD@cluster0.fklgt.mongodb.net/ORIGINAL_DATABASE_NAME
Así que obviamente debería reemplazar
ACC_USER_NAME:ACC_USER_PASSWORD
con
NEW_ACC_USER_NAME:NEW_ACC_USER_PASSWORD
Pero, ¿qué pasa con ORIGINAL_DATABASE_NAME
? No pude encontrar un equivalente para ponerlo allí. El resto de los parámetros:
--archive="DUMP_FILE_NAME" --nsFrom='ORIGINAL_DATABASE_NAME.' --nsTo='NEW_DATABASE_NAME.'
debe permanecer igual.
Primero, debes hacer mongodump
. Ya lo hiciste correctamente.
mongodump --uri mongodb+srv://<USER>:<PASSWORD>@cluster.xxx.mongodb.net/<DATABASE>
Este comando creará un archivo BSON , que usaremos para restaurar la base de datos en el próximo paso.
Ahora, puede usar mongorestore
con una nueva cadena de conexión de clúster y con el archivo BSON del paso anterior.
mongorestore --uri mongodb+srv://<USER>:<PASSWORD>@new_cluster.xxx.mongodb.net <BSON_FILE_PATH>
NOTA : no necesita especificar ORIGINAL_DATABASE_NAME
con mongorestore . Solo debe especificar la cadena de conexión base del nuevo clúster. El archivo BSON incluye todos los datos necesarios para restaurar la base de datos. Entonces, la base de datos se creará en el nuevo clúster y tendrá el mismo nombre que en el antiguo clúster.