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 或更高版本。做了这些事情后,它终于奏效了。
谢谢大家!
avi*_*iit 10
在 Atlas 集群中,选择Security选项卡,按下按钮,Edit然后readWriteAnyDatabase向用户添加角色。重试或刷新您的连接以查看结果。
小智 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)https://docs.mlab.com/troubleshooting-atlas-connection-issues/#getlog-error
对于任何人都会遇到user is not allowed to do action [getLog] on [admin.]错误。必须明确赋予用户clusterMonitor角色
您可以转到 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)
| 归档时间: |
|
| 查看次数: |
8357 次 |
| 最近记录: |