我刚刚学会了使用mongoDB,在服务器上部署它之后,我创建了一个用户。当我使用猫鼬连接,我可以连接,甚至没有输入帐户密码!
connectionStr:`mongodb://xxxx:27017/test`但是当我使用MongoDB指南针连接时,如果我不输入帐户密码,我就无法连接。我想知道为什么会这样。因为我打开了安全性,所以我认为不输入密码就不可能使用猫鼬连接。

发布于 2020-09-11 10:37:03
是的,您可以在没有密码的情况下始终连接到MongoDB。
但是,如果没有身份验证,就不能执行任何命令(除了db.getMongo()):
C:\>mongo localhost
MongoDB shell version v4.4.0
connecting to: mongodb://127.0.0.1:27017/localhost?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("f44422c7-f462-405a-8432-594d75ff451a") }
MongoDB server version: 4.4.0
ANONYMOUS@localhost> db.getMongo()
connection to 127.0.0.1:27017
ANONYMOUS@localhost> db.stats()
{
"ok" : 0,
"errmsg" : "command dbStats requires authentication",
"code" : 13,
"codeName" : "Unauthorized"
}
ANONYMOUS@localhost> exit
bye在MongoDB中还有另一个特殊点。当您启用安全性并启动服务时,您仍然可以在没有用户名/密码-的情况下连接到数据库,除非创建了初始的管理用户。
这个函数称为本地主机异常。
另一个注意事项,当您连接到Mongo时,您应该指定身份验证数据库,请参阅试图保存到mongodb时身份验证失败
https://stackoverflow.com/questions/63843945
复制相似问题