新手问题 使用 mongodb 的小问题。求救。

Sunnyroger · 2013年04月15日 · 最后由 satoshigi 回复于 2014年02月14日 · 5592 次阅读

按照mongoid的官方文档配置了rails 然后sudo service mongodb start启动了mongodb 我的mongoid.yml

development:
  sessions:
    default:
      database: code_campo_development
      hosts:
        - localhost :27017

可是链接的时候提示我错误为 Moped::Errors::ConnectionFailure - Could not connect to any secondary or primary nodes for replica set <Moped::Cluster nodes=[<Moped::Node resolved_address="127.0.0.1:27017">]> 请问怎么破?

共收到 25 条回复

$ ps aux | grep mongodb 看看,确定你的 MongoDB 启动好了?

#1楼 @huacnlee 好像启动了,ps aux | grep mongodb 显示 mongodb 1093 0.4 0.8 1086325 32996? Ssl /usr/bin/mongodb --config /etc/mongodb.conf

先确认 shell 下能不能连上:

mongo 127.0.0.1:27017

@ashchan 我在shell mongo 显示```ruby mongo MongoDB shell version: 2.0.6 connecting to: test

敲`mongo 127.0.0.1:27017`
显示
mongodb shell version:2.0.6
connecting to 127.0.0.1:27017/test
>
>

然后就没有了。。。

@huacnlee @ashchan 哥哥们问题出在哪里呢,求救。

#5楼 @Sunnyroger 这我也不知道了,配置文件没问题,服务也开启了

#6楼 @huacnlee 那会不会是mongdb.conf出问题了,现在的问题好像就是不能链接到数据库,不能保存数据

你的是啥系统?不会是系统防火墙没开相应的端口吧?

#8楼 @blueplanet ubuntu12.10滴...端口开了吧

顶楼看起来是 mongoid 3 的配置,但是 code_campo 还用着 mongoid 2

#9楼 @Sunnyroger 只是知道ubuntu系统的话是没办法判断端口是否已经开放已经的。

#10楼 @Rei 嘻嘻,你怎么知道我做的你的那个codecampo啊

#12楼 @Sunnyroger 数据库名嘛。

#11楼 @blueplanet 哪有什么命令来判断那个端口有没有开呢,我访问localhost:27107,他说让我去访问localhost:28107.然后可以看到mongo的欢迎页面

#10楼 @Rei ....我二了.

mongoid 文档有个提醒

The minimum version of MongoDB that is required for you to run Mongoid is 2.0.0 for 3.0.x and 2.2.0 for 3.1.x.

会不会是这个问题

#16楼 @Rei 我装的好像是2.4.1的mongodb.可他说的是最小的版本

#5楼 @Sunnyroger 重启一下 mongod (先确认现在跑的那个完全关闭,pid 都清干净)。

app 和 mongod 都在同一台机器上的话,端口应该是没有问题的。2.0 后默认就是绑定本地 ip 和 27017 端口的。

#14楼 @Sunnyroger 执行netstat -tln | grep 27107 看一下

#18楼 @ashchan 这样啊。火星了

@huacnlee @ashchan @blueplanet @Rei 谢谢啦,问题解决了,貌似是机子上原来就有mongodb,我又装了最新版本的mongodb导致的,我把机子上所有的mongodb都remove后又装了一遍,问题就没有了,有点弱智.还是谢谢大家啦.PS:ubuntu下面有没有什么好的管理mongodb的类似于phpmyadmin的工具呢?

我就用 mongo 命令行。

考虑了一下,其实 mongo 命令行都很少用,多是用 Rails console,很少需要直接管理数据库。

#23楼 @Rei 我就是想看看数据库的构造。0.0

#3楼 @ashchan 如果连不上要怎么办couldn't connect to server 127.0.0.1:27017

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册