MongoError:不允许用户执行操作

Jan*_*pan 11 loopback mongodb angular

我使用MongoDB Atlas作为我的数据库.

我正在使用angular4和loopi作为api.

我的应用程序连接到我的数据库.但是,当我尝试获取数据时,我收到此错误(我已使用dbname替换了我的dbname):

MongoError: user is not allowed to do action [find] on [dbname.$cmd]
Run Code Online (Sandbox Code Playgroud)

如果我在AWS上使用本地mongodb客户端或mongodb实例,则查询工作正常.但是,在使用地图集时,我收到此错误.

小智 14

啊! 这花了太多时间来修复!对于那些有同样问题的人。我必须同时做:

1> 我遇到了这个错误,我的问题是我在处理连接字符串时没有将数据库名称从“test”更改为我自己的数据库。– 迈尔 2017 年 12 月 8 日 12:43

2>

"mongodb://:@cluster0-shard-00-00-rb899.mongodb.net:27017,cluster0-shard-00-01-rb899.mongodb.net:27017,cluster0-shard-00-02-rb899.mongodb .net:27017/?ssl=true&replicaSet=Cluster0-shard-0&authSource=admin”

此外,在 Atlas 中,您必须指定较旧的驱动程序 2.2.12 或更高版本。做了这些事情后,它终于奏效了。

谢谢大家!


Nan*_*are 12

将数据库访问下的 MongoDB 角色中的角色更改为“AtlasAdmin”并且它起作用了。

在此输入图像描述


avi*_*iit 10

在 Atlas 集群中,选择Security选项卡,按下按钮,Edit然后readWriteAnyDatabase向用户添加角色。重试或刷新您的连接以查看结果。

  • 对我来说这行不通。我必须选择 `atlasAdmin` (10认同)

小智 9

我自己也有同样的错误.

  • 如果您使用的是MongoDB NodeJS驱动程序的v.3.0,请参阅MikaS帖子以了解需要进行的MongoClient.connect更改. /sf/answers/3336408561/

  • 要将您的应用程序连接到Atlas MongoDB,请使用3.4驱动程序,例如.

    mongodb://<USERNAME>:<PASSWORD>@cluster0-shard-00-00-
    rb899.mongodb.net:27017,cluster0-shard-00-01-
    rb899.mongodb.net:27017,cluster0-shard-00-02-
    rb899.mongodb.net:27017/<DBNAME>?ssl=true&replicaSet=Cluster0-shard-
    0&authSource=admin
    
    Run Code Online (Sandbox Code Playgroud)


Ndi*_*tah 9

在Atlas集群中,单击左侧边栏“安全”下的“数据库访问” 。

单击编辑按钮,然后向用户添加角色atlasAdmin@admin 。

在此输入图像描述 在此输入图像描述


Fug*_*Web 8

https://docs.mlab.com/troubleshooting-atlas-connection-issues/#getlog-error

对于任何人都会遇到user is not allowed to do action [getLog] on [admin.]错误。必须明确赋予用户clusterMonitor角色


use*_*602 5

您可以转到 Atlas->Security->Database Access 选项卡并添加具有 Atlas admin 角色的新用户,然后您可以使用以下 cmd 进行连接

mongo "mongodb+srv://cluster0.0q8wi.mongodb.net/admin" --username <username> -p <password>
Run Code Online (Sandbox Code Playgroud)


小智 5

通常,发生此错误是因为数据库中的当前用户没有合适的凭据。

  1. 转到Database Access下面的Security部分。
  2. 单击edit您添加的用户。 在此输入图像描述
  3. Built-in Role部分中,选择Atlas admin) 并按Update User按钮。 在此输入图像描述