authSource在mongo数据库url中的含义是什么?

gau*_*lik 14 mongodb node.js robo3t

我正在尝试使用以下连接字符串连接到我的mongo数据库

var Mongo_url = 'mongodb://MyUSer:tech@localhost:27017/chatme?authSource=admin';  
Run Code Online (Sandbox Code Playgroud)

我收到错误了

 assertionError: null == { [MongoError: Authentication failed.]
 name: 'MongoError',
 message: 'Authentication failed.',
 ok: 0,
 code: 18,
Run Code Online (Sandbox Code Playgroud)

谁能请我清除这个"authSource = admin"的东西.

Thi*_*ilo 12

这是具有用户凭据的集合的数据库的名称.

https://docs.mongodb.com/manual/reference/connection-string/#connections-connection-options

这是设置用户名和密码的位置.


Bry*_*yan 6

我今天花了几个小时试图解决这个问题,不幸的是,这篇文章没有出现在我的搜索中。这太糟糕了,因为这是该问题的最佳答案的帖子。

我希望通过添加我收到的错误消息来帮助下一个人。

我正在通过 docker-compose yaml 文件启动的 Docker 容器内设置连接。用户名和密码从 .env 文件传递​​到 docker-compose。

有效的连接 URI

mongodb://aUser:aPassword@mevn-app-mongo:27017/myDb?authSource=admin
Run Code Online (Sandbox Code Playgroud)

错误:

SASL SCRAM-SHA-1 authentication failed for aUser on myDb from client 172.25.0.3:37352 ; UserNotFound: Could not find user aUser@myDb
Run Code Online (Sandbox Code Playgroud)