无法通过 shell 登录 Mongo

Cer*_*rus 3 mongodb

我们正在通过 VPN 开发远程 MongoDB 基础。在我的本地机器上运行三个客户端实例:NodeJS 服务器、Compass Community 实例和mongoshell(或mongoexport)。

mongodb://user:pass@ip:port在所有三种情况下都使用了相同的表单 URL ,并且 Node.js 和 Compass 都可以正常工作。当我使用 Windows PowerShell 并mongo从中调用时,问题开始出现:

MongoDB shell version v3.6.5
Enter password:
connecting to: mongodb://{ip}:{port}/
MongoDB server version: 3.6.4
2018-06-27T18:02:00.031+0700 E QUERY    [thread1] Error: Authentication failed. :
DB.prototype._authOrThrow@src/mongo/shell/db.js:1608:20
@(auth):6:1
@(auth):1:2
exception: login failed
Run Code Online (Sandbox Code Playgroud)

whereipportare here 是真实值的占位符。我们无法访问 Mongo 配置,所以我可以做些什么来使用 shell 进行连接?

Cer*_*rus 7

结果证明可以使用明确声明的身份验证数据库进行连接。即,以下几行确实有效:

mongo --host mongodb://user:pass@ip:port/ --authenticationDatabase admin
mongoexport --host mongodb://user:pass@ip:port/ --authenticationDatabase admin --db db --collection collection -o ./file.json
Run Code Online (Sandbox Code Playgroud)