Mongodb Atlas:管理员未授权执行命令

Sea*_*de9 12 mongodb mongodb-atlas

我有一个MongoDB Atlas集群,我试图在同一个实例中复制数据库.不幸的是,每次我尝试运行db.copyDatabase()或copydb admin命令时,都会收到以下错误:

not authorized on admin to execute command
Run Code Online (Sandbox Code Playgroud)

这是非常奇怪的,因为我只有一个用户,并且它可以访问所有内容,至少就我在地图册上看到的一样(点击此处查看图像).

我在stackoverflow中进行了一些搜索,但看起来大多数答案都与本地运行的mongod实例有关,而不是在atlas中运行的那些...我是否设置了用户错误?

Sea*_*de9 14

我最后向MongoDB大学讨论板提问.如果有人碰到这个,这显然是因为我使用的是免费群集.

  • 对于您(以及其他任何人遇到此问题)的参考:https://docs.atlas.mongodb.com/unsupported-commands/和https://docs.atlas.mongodb.com/reference/free-shared-limitations/ (4认同)
  • 我有同样的问题,但是M10确实改成了M10了吗? (2认同)

小智 9

当我尝试使用Node.js 3.0或更高版本连接到群集并使用以下链接时,我遇到了相同的问题:

mongodb + srv://用户名:密码@ cluster0-eoowo.mongodb.net / test?retryWrites = true

通过选择2.2.12或更高版本,并使用提供的链接,一切顺利

mongodb://用户名:password@cluster0-shard-00-00-eoowo.mongodb.net:27017,cluster0-shard-00-01-eoowo.mongodb.net:27017,cluster0-shard-00-02-eoowo。 mongodb.net:27017/test?ssl=true&replicaSet=Cluster0-shard-0&authSource=admin&retryWrites=true


小智 6

只需使用此版本,然后复制其链接并替换具有读写权限的 mongodb 图集中的用户名和密码,它将连接我也遇到了同样的问题,花了很多时间来解决这个问题,然后我尝试了 2.2 .12 版本和它工作。

在此处输入图片说明


小智 6

这让我发疯了……原来MongoDB提供的标准链接试图将我的默认数据库命名为“ admin”。更改链接自

mongodb + srv://用户名:password@portfoliosite-ezeot.mongodb.net/ admin?retryWrites = true&w = majority

mongodb + srv:// username:password@portfoliosite-ezeot.mongodb.net/ test?retryWrites = true&w = majority

您可以输入任何字词进行测试,而不仅仅是管理员。希望这可以帮助!