Mongodb Mongo:尝试运行命令时出现网络错误';whatsmyuri';在主机上

Mongodb Mongo:尝试运行命令时出现网络错误';whatsmyuri';在主机上,mongodb,port,remote-access,Mongodb,Port,Remote Access,我一直试图从另一台机器访问我的mongo实例,但我遇到了这个错误。我找不到很多关于这个whatsmyuri错误的引用。这是我从外部机器得到的: $ mongo <IP_ADDRESS>:27017/youtube_advertising -u user -p password MongoDB shell version: 3.2.0 connecting to: <IP_ADDRESS>:27017/youtube_advertising 2016-02-19T17:1

我一直试图从另一台机器访问我的mongo实例,但我遇到了这个错误。我找不到很多关于这个
whatsmyuri
错误的引用。这是我从外部机器得到的:

$ mongo <IP_ADDRESS>:27017/youtube_advertising -u user -p password

MongoDB shell version: 3.2.0
connecting to: <IP_ADDRESS>:27017/youtube_advertising
2016-02-19T17:10:02.923+0100 E QUERY    [thread1] Error: network error while attempting to run command 'whatsmyuri' on host '<IP_ADDRESS>:27017'  :
connect@src/mongo/shell/mongo.js:226:14
@(connect):1:6

exception: connect failed
我不知道那个
36990
端口是对还是错。以防万一我也从那里打开了连接,但还是什么都没有

有什么想法吗

更新 检查
/var/log/mongodb/mongod.log
,这是我尝试从远程连接时得到的结果:

2016-02-19T10:41:07.292-0600 I NETWORK  [initandlisten] connection accepted from <EXT_IP_ADDRESS>:51800 #2 (1 connection now open)
2016-02-19T10:41:07.310-0600 I QUERY    [conn2]     operation isn't supported: 2010
2016-02-19T10:41:07.310-0600 I -        [conn2] Assertion: 16141:cannot translate opcode 2010
2016-02-19T10:41:07.292-0600 I网络[initandlisten]连接已从以下位置接受:51800#2(1个连接现已打开)
2016-02-19T10:41:07.310-0600不支持I查询[conn2]操作:2010
2016-02-19T10:41:07.310-0600 I-[conn2]断言:16141:无法翻译操作码2010

检查您的版本。这可能会有帮助

我也有同样的问题。在我的例子中,服务器的版本是3.2.0-rc2,而MongoShell的版本是3.2.1


将服务器升级到3.2.1解决了这个问题。

当我在同一台Windows 10计算机上运行两个版本(3.4和4.2)的MongoDB时,这个问题困扰了我。我在控制台输出中没有提到任何问题的情况下运行了v3.4 mongod,但随后运行v3.4 Mongoshell产生了上述错误。检查任务管理器后,发现有一个MongoDB进程正在运行(我不确定,但我认为它适用于v4.2)。通过任务管理器结束该过程后,v3.4 mongo shell运行良好,没有错误。

使用mongodb社区shell

在MacOs
brew中安装mongodb/brew/mongodb community shell

它将要求您使用mongo命令覆盖链接


brew链接——覆盖mongodb community shell

当mongo客户端和服务器的版本不匹配时,会出现问题。 从客户端卸载MongoDB,并按照此处提供的详细说明进行安装。

需要注意的关键步骤是

sudo apt get install-y mongodb org=4.2.7 mongodb org server=4.2.7 mongodb org shell=4.2.7 mongodb org mongos=4.2.7 mongodb组织工具=4.2.7

注意:在我的例子中,服务器的mongo版本是4.2.7
另一件可以做的事情是从两个系统中卸载MongoDB,并进行必要的备份,然后重新安装。

日志中有什么有趣的内容吗?我只是在更新:)虽然这个代码片段可以解决这个问题,但确实有助于提高文章的质量。请记住,您将在将来回答读者的问题,而这些人可能不知道您代码建议的原因。我认为我的问题也是不同的版本号。他们不是3.2.0和3.2.1。
2016-02-19T10:41:07.292-0600 I NETWORK  [initandlisten] connection accepted from <EXT_IP_ADDRESS>:51800 #2 (1 connection now open)
2016-02-19T10:41:07.310-0600 I QUERY    [conn2]     operation isn't supported: 2010
2016-02-19T10:41:07.310-0600 I -        [conn2] Assertion: 16141:cannot translate opcode 2010