在Rails中使用Mongoid

2012-06-30 12:54

在我看来noSQL解决方案有一个最大的优点就是可以方便的scale out, Oracle等大型数据库也可以支持Grid,支持集群但是就是配置起来的繁琐而已,可以写一本厚厚的书啦。而今天要使用的mongodb只是简单的一个配置文件就能搞定,简单易用容易让人理解,只就是生产力的极大提升啊。

Mongodb可使用的ruby adapter 常用的有Mongoid, Mongo Ruby Driver, Mongo mapper, 在这里不比较两者的异同,我们简单的用现在人气高的一个mongoid。人气值可以在看这里

Step 1: Install Mongodb 2.0

目前Ubuntu官方库里的mongodb还没有升级到2.0版,我们用mongodb官方提供步骤来安装。

# 添加mongodb公司10gen的pgp键
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10

# 增加源到apt
sudo sh -c "echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' > /etc/apt/sources.list.d/10gen.list"

# 更新源
sudo apt-get update

# 安装mongodb
sudo apt-get install mongodb-10gen

# 启动mongodb
sudo service mongodb start

# test mongo client
mongo

# db.test.save( {a: 1} )
# db.test.find()

Step 2: Setup Gemfile to install mongoid

在Gemfile中添加mongoid

gem 'mongoid', '~> 3.0.0.rc'

执行 bundle install

这样就可以使用了。在[railscasts][]中有mongoid的使用视频,我就不接着举例了。 虽然现在mongoid升级到了3.0rc,有些东西会有变化,但是大的变化不会太大。

mongoid的确是好东西,但是rails社区之前的插件基本都是为mysql特质的,所以很多好插件在mongoid下还不能用, 这个还需要社区在进一步的发展才能达到,重复造轮子代价太大,我们做迁移之前还是要考虑好这个现实问题的。

除非注明,文章均为 wongyouth 原创,转载请注明本文地址:http://wongyouth.com/blog/2012/06/30/use-mongoid-with-rails/
  • 关于我
  • 破而后立 系统架构师
    全栈式 Rails 开发者
    最近折腾了一些前端框架
    关注 Web,移动,创业
  • 近期评论
    • 使用手机阅读或分享至微信朋友圈