IntelliJ 数据库资源管理器不能与本地主机一起使用 Mongo 4.4.3

IntelliJ Database explorer won't work with localhost Mongo 4.4.3

我在本地主机身份验证方面处于中等水平 MongoDB。我将 mongod 配置为将特定用户绑定到特定数据库,并且从 mongo shell 和我的 Java 程序,一切都很好。当我以该用户身份登录时,我可以在绑定该用户的 mongo 数据库上执行所有 mongo 操作。

$ mongo -u totallyLegitUser --authenticationDatabase admin
MongoDB shell version v4.4.3
Enter password:
connecting to: mongodb://127.0.0.1:27017/?authSource=admin&compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("2ba7a3f6-2ca1-49b7-8241-8133ceb3d842") }
MongoDB server version: 4.4.3
> use mfg-plan;
switched to db mfg-plan
> show collections;
activity
...

当我尝试通过 IntelliJ 的“数据库”设置相同的用户时,“测试连接”显示一切正常,但我无法通过控制台和“资源管理器”运行 进行任何查询" 下拉项不显示我知道的集合在数据库中。

这是我在尝试 运行 db.activity.findOne(); 后查看控制台时显示的内容;来自 cli 会话...

com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=SCRAM-SHA-256, userName='totallyLegitUser', source='mfg-plan', password=<hidden>, mechanismProperties=<hidden>} com.mongodb.MongoCommandException: Command failed with error 17 (ProtocolError): 'Attempt to switch database target during SASL authentication.' on server localhost:27017. The full response is {"ok": 0.0, "errmsg": "Attempt to switch database target during SASL authentication.", "code": 17, "codeName": "ProtocolError"}

我已经确认用户名、密码、数据库都是正确的。

如何让 IntelliJ 连接到我的身份验证 mongos?

问题已解决。在我的 mongo 主机的“数据源和驱动程序”对话框中,它要求提供数据库。我给了它我想连接到主机上的数据库(制造计划)。它想要的是主机的 authenticationDatabase(通常是 'admin')。当我将其更改为 'admin' 时,一切正常。