Error: (AtlasError) no se admite la obtención de recopilaciones del sistema que no son de depósito
Estoy tratando de usar mongorestore para migrar datos de una base de datos a otra. Ambos en Atlas. El volcado funciona bien, pero mongorestore está generando los siguientes mensajes. No tengo ni idea de lo que esto significa y una búsqueda en Google no muestra nada ni remotamente parecido. Agregué guiones al comienzo de cada línea de la salida para que sea más legible.
-- using write concern: &{majority false 0} -- will listen for SIGTERM, SIGINT, and SIGKILL -- connected to node type: replset -- The --db and --collection flags are deprecated for this use-case; please use --nsInclude instead, ie with --nsInclude=${DATABASE}.${COLLECTION} -- got error from options parsing: (AtlasError) getting non-bucket system collections is unsupported -- Failed: (AtlasError) getting non-bucket system collections is unsupported -- 0 document(s) restored successfully. 0 document(s) failed to restore.El comando que estoy ejecutando
mongorestore --uri="mongodb+srv://username:password@hostname.mongodb.net/$DEV_DATABASE" \ --preserveUUID \ --drop \ --nsFrom="$PROD_DATABASE.*" \ --nsTo="$DEV_DATABASE.*" \ --verbose \ "dump/$PROD_DATABASE" También intenté crear un archivo de almacenamiento con mongodump y usarlo con --archive="filename" , así como canalizar la salida estándar a mongorestore . También verifiqué que el usuario que estoy usando tiene los privilegios correctos. Tienen el rol de Atlas admin , lo cual supongo que es correcto. El clúster de desarrollo que estoy tratando de restaurar es un M0 si eso hace alguna diferencia.
También debo señalar que tengo una experiencia mínima en la gestión de Mongo, por lo que estoy seguro de que hay algo que he pasado por alto. Gracias por tu ayuda.
MongoDB registra los UUID de la colección en una colección de sistema separada.
La opción --preserveUUID le indica a mongorestore que cree la colección y la obligue a usar el UUID del sistema de origen.
El mensaje de error indica que Atlas se niega a permitirle acceder o modificar esa colección del sistema.
Ejecutar sin la opción --preserveUUID al restaurar a Atlas.