MongoDb,克隆数据库错误:非法参数组合:无法指定 --db 和 --uri

Posted

技术标签:

【中文标题】MongoDb,克隆数据库错误:非法参数组合:无法指定 --db 和 --uri【英文标题】:MongoDb, Cloning database error: illegal argument combination: cannot specify --db and --uri 【发布时间】:2021-06-26 09:37:35 【问题描述】:

我正在尝试在同一个集群中复制一个名为 database_A 的数据库。 结果应该是一个名为database_B 的新数据库,其数据完全相同。

我正在尝试按照说明进行操作 here。

它解释了如何在本地执行此操作:

    使用 mongodump 将测试数据库转储到存档 mongodump-test-db:

mongodump --archive="mongodump-test-db" --db=test

    将 mongorestore 与 --nsFrom 和 --nsTo 一起使用以从存档中恢复(更改数据库名称):

mongorestore --archive="mongodump-test-db" --nsFrom='test.' --nsTo='例子。'

为了在集群中达到同样的效果,它说:

根据需要包含其他选项,例如指定 uri 或 主机、用户名、密码和身份验证数据库。

但是,当我尝试添加uri 来实现第一步时:

mongodump --uri mongodb+srv://hihi:password@cluster0.fklgt.mongodb.net --archive="mongodump-test-db" --db=test_db

我收到此错误:

illegal argument combination: cannot specify --db and --uri

知道如何解决这个问题吗?

【问题讨论】:

【参考方案1】:

您必须在类似 URI 的连接中添加 db uri/[db]

mongodb+srv://hihi:password@cluster0.fklgt.mongodb.net/test_db


mongodump --uri mongodb+srv://hihi:password@cluster0.fklgt.mongodb.net/test_db --archive="mongodump-test-db" 

https://docs.mongodb.com/v3.6/reference/program/mongodump/#cmdoption-mongodump-uri

/database 可选。如果连接字符串包含用户名:密码@ 形式的身份验证凭据,则要进行身份验证的数据库的名称。如果未指定 /database 并且连接字符串包含凭据,则驱动程序将对 admin 数据库进行身份验证。另请参阅 authSource。

https://docs.mongodb.com/v3.6/reference/connection-string/

【讨论】:

以上是关于MongoDb,克隆数据库错误:非法参数组合:无法指定 --db 和 --uri的主要内容,如果未能解决你的问题,请参考以下文章

CI中的Gitlab克隆分支

运行时自定义光标适配器错误,非法参数异常

进游戏提示非法参数是怎么回事

错误代码:ERR_INVALID_ARGUMNT

java基础语法:非法修饰符组合 abstract

“无法加载 NSManagedObjectModel。nil 是非法的 URL 参数”