Ruby 从外部脚本连接到mongoDB时ConnectionFailure

Ruby 从外部脚本连接到mongoDB时ConnectionFailure,ruby,mongodb,Ruby,Mongodb,我在OpenShift上创建了一个Ruby应用程序,我添加了mongodb盒带,我的应用程序每小时启动一次,从RSS提要获取一些数据,并将其推送到mongo集合中。现在,我想用另一个脚本从mongo获取数据 我的代码如下所示: 当我尝试以ruby getData.rb的形式从终端中的计算机运行此脚本时,我收到以下错误消息: /home/user/.rvm/gems/ruby-2.1.3/gems/mongo-1.11.1/lib/mongo/mongo_client.rb:422:in `con

我在OpenShift上创建了一个Ruby应用程序,我添加了mongodb盒带,我的应用程序每小时启动一次,从RSS提要获取一些数据,并将其推送到mongo集合中。现在,我想用另一个脚本从mongo获取数据

我的代码如下所示:

当我尝试以ruby getData.rb的形式从终端中的计算机运行此脚本时,我收到以下错误消息:

/home/user/.rvm/gems/ruby-2.1.3/gems/mongo-1.11.1/lib/mongo/mongo_client.rb:422:in `connect': Failed to connect to a master node at 127.3.214.130:27017 (Mongo::ConnectionFailure)
from /home/user/.rvm/gems/ruby-2.1.3/gems/mongo-1.11.1/lib/mongo/mongo_client.rb:661:in `setup'
from /home/user/.rvm/gems/ruby-2.1.3/gems/mongo-1.11.1/lib/mongo/mongo_client.rb:177:in `initialize'
from /home/user/.rvm/gems/ruby-2.1.3/gems/mongo-1.11.1/lib/mongo/legacy.rb:52:in `initialize'
from getData.rb:7:in `new'
from getData.rb:7:in `<main>'
我在网上搜索了一个解决方案,但什么也找不到

解决了


我使用rhc创建了一个隧道,用于本地机器和openshift应用程序之间的通信,从而解决了这个问题。打开隧道只需运行rhc port forward APP_NAME,这将绑定一些端口并启动本地计算机和服务器之间的通信。

您的脚本无法连接到mongodb实例。您是否有正确的主机/ip和端口?你能连接mongo shell吗?如果我在mongo shell中运行db=connect127.3.214.130:27017/RubyScraper,我会得到以下错误:连接到:127.3.214.130:27017/RubyScraper 2014-11-17T20:51:15.494+0200警告:无法连接到127.3.214.130:27017,原因:错误号:111连接被拒绝2014-11-17T20:51:15.495+0200错误:无法连接到服务器127.3.214.130:27017 127.3.214.130,在src/mongo/shell/mongo尝试连接失败。js:148主机正确。我的服务器ruby脚本可以通过这个主机和端口与mongo对话。