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

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

按照 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">]> 请问怎么破?

$ 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 的欢迎页面

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

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