mongorestore - AtlasError - 不支持获取非桶系统集合
mongorestore - AtlasError - getting non-bucket system collections is unsupported
Failed: (AtlasError) getting non-bucket system collections is unsupported
我正在尝试使用 mongorestore
将数据从一个数据库迁移到另一个数据库。都在阿特拉斯上。转储工作正常,但 mongorestore
正在输出以下消息。我不知道这意味着什么, google 搜索不会呈现任何远程关闭。我在每行输出的开头添加了连字符,以使其更具可读性。
-- 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, i.e. 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.
命令我运行
mongorestore --uri="mongodb+srv://username:password@hostname.mongodb.net/$DEV_DATABASE" \
--preserveUUID \
--drop \
--nsFrom="$PROD_DATABASE.*" \
--nsTo="$DEV_DATABASE.*" \
--verbose \
"dump/$PROD_DATABASE"
我还尝试过使用 mongodump
创建存档文件并将其与 --archive="filename"
一起使用,以及将标准输出管道传输到 mongorestore
。我还检查了我正在使用的用户是否具有正确的权限。他们扮演 Atlas admin
的角色,我认为这是正确的。如果有任何区别,我要恢复到的开发集群是 M0。
我还应该指出,我的 Mongo 管理经验很少,所以我确信我忽略了一些事情。感谢您的帮助。
MongoDB 将集合 UUID 记录在单独的系统集合中。
--preserveUUID
选项指示 mongorestore 创建集合,并强制它使用来自源系统的 UUID。
错误消息表明 Atlas 拒绝允许您访问或修改该系统集合。
运行 恢复到 Atlas 时没有 --preserveUUID
选项。
Failed: (AtlasError) getting non-bucket system collections is unsupported
我正在尝试使用 mongorestore
将数据从一个数据库迁移到另一个数据库。都在阿特拉斯上。转储工作正常,但 mongorestore
正在输出以下消息。我不知道这意味着什么, google 搜索不会呈现任何远程关闭。我在每行输出的开头添加了连字符,以使其更具可读性。
-- 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, i.e. 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.
命令我运行
mongorestore --uri="mongodb+srv://username:password@hostname.mongodb.net/$DEV_DATABASE" \
--preserveUUID \
--drop \
--nsFrom="$PROD_DATABASE.*" \
--nsTo="$DEV_DATABASE.*" \
--verbose \
"dump/$PROD_DATABASE"
我还尝试过使用 mongodump
创建存档文件并将其与 --archive="filename"
一起使用,以及将标准输出管道传输到 mongorestore
。我还检查了我正在使用的用户是否具有正确的权限。他们扮演 Atlas admin
的角色,我认为这是正确的。如果有任何区别,我要恢复到的开发集群是 M0。
我还应该指出,我的 Mongo 管理经验很少,所以我确信我忽略了一些事情。感谢您的帮助。
MongoDB 将集合 UUID 记录在单独的系统集合中。
--preserveUUID
选项指示 mongorestore 创建集合,并强制它使用来自源系统的 UUID。
错误消息表明 Atlas 拒绝允许您访问或修改该系统集合。
运行 恢复到 Atlas 时没有 --preserveUUID
选项。