Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb Can';t通过shell登录到Mongo_Mongodb - Fatal编程技术网

Mongodb Can';t通过shell登录到Mongo

Mongodb Can';t通过shell登录到Mongo,mongodb,Mongodb,我们正在通过VPN开发远程MongoDB基地。在我的本地机器上,有三个客户端实例:NodeJS服务器、Compass社区实例和mongoshell(或mongoexport) 表单的相同URLmongodb://user:pass@ip:port在所有三种情况下都使用,Node.js和Compass都可以正常工作。当我使用Windows PowerShell并从中调用mongo时,问题开始出现: MongoDB shell version v3.6.5 Enter password: conne

我们正在通过VPN开发远程MongoDB基地。在我的本地机器上,有三个客户端实例:NodeJS服务器、Compass社区实例和
mongo
shell(或
mongoexport

表单的相同URL
mongodb://user:pass@ip:port
在所有三种情况下都使用,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

其中
ip
port
是实际值的占位符。我们没有访问Mongo配置的权限,所以我可以使用shell进行连接吗?

非常确定您使用了错误的数据库。运行
mongo
启动mongo后,必须使用
use database\u name
然后才能使用
db.auth(“用户名”、“密码”)
进行身份验证

编辑


默认情况下,您的数据库是admin,所以如果您使用的是另一个数据库,则必须将其打开。事实证明,可以使用显式声明的身份验证数据库进行连接。也就是说,以下行不起作用:

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

在这个链接的问题中找到了
--authenticationDatabase
键,添加这个后我可以连接。似乎DB在默认情况下没有配置为使用
admin
数据库。我甚至不能使用
任何东西。在执行
mongo
命令之后,上述错误阻止了我。