无法从CL连接到mongo但是从Pymongo成功

时间:2017-11-19 01:54:39

标签: mongodb pymongo

我正在尝试从同一主机连接到这样的mongo,即。 host_addr

mongo  host_addr:27030 -u user -p password

我收到以下回复:

  

MongoDB shell版本v3.4.6

     

连接到:host_addr:27030

     

MongoDB服务器版本:3.4.6

     

2017-11-18T17:44:39.055-0800 E QUERY [thread1]错误:身份验证失败。 :

     

DB.prototype._authOrThrow@src/mongo/shell/db.js:1461:20

     

@(AUTH):6:1

     

@(AUTH):1:2

     

异常:登录失败

我使用相同的凭据来连接我的python应用程序中的Pymongo并且它可以工作。

可能是什么原因?

3 个答案:

答案 0 :(得分:0)

我认为mongo默认尝试连接到测试数据库,而你的用户可能在admin db上。

尝试:

mongo admin host_addr:27030 -u user -p password

答案 1 :(得分:0)

您需要指定要对哪个数据库进行身份验证:

mongo  host_addr:27030 -u user -p password --authenticationDatabase <yourDBName>

mongo  host_addr:27030/<yourDBname> -u user -p password 

mongo --host host_addr --port 27030 -u user -p password --authenticationDatabase <yourDBName>

答案 2 :(得分:0)

添加--authenticationDatabase admin为我工作。这取决于登录用户的定义位置。我的存在于System\admin数据库中。