独立rails使用mongoid_Ruby_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > Ruby > 独立rails使用mongoid

独立rails使用mongoid

 2012/2/14 10:22:10  ruby_windy  程序员俱乐部  我要评论(0)
  • 摘要:NoSQL不得不说优点有很多,就1.存储任何对象,图片,文件,等等2.不限制相同对象存储.就足够我拥抱一下了.于是,转入ruby下看看,有mongoid逐渐要取代mongomapper的感觉,下面就我个人独立使用mongoid作一个记录:作一个yml配置,如果是想使用rails项目下的,也可以:development:host:localhostdatabase:personal_center_developmenttest:host:localhostdatabase
  • 标签:使用 rails mongoid
NoSQL不得不说优点有很多,



1. 存储任何对象,图片,文件,等等

2. 不限制相同对象存储.

就足够我拥抱一下了.

于是,转入ruby下看看, 有mongoid逐渐要取代mongomapper的感觉,下面就我个人独立使用mongoid作一个记录:

作一个yml配置,如果是想使用rails项目下的,也可以:
development:
  host: localhost
  database: personal_center_development

test:
  host: localhost
  database: personal_center_test

# set these environment variables on your prod server
production:
  host: <%= ENV['MONGOID_HOST'] %>
  port: <%= ENV['MONGOID_PORT'] %>
  username: <%= ENV['MONGOID_USERNAME'] %>
  password: <%= ENV['MONGOID_PASSWORD'] %>
  database: <%= ENV['MONGOID_DATABASE'] %>



下面且看如何加载:

require 'mongoid'

ENV['MONGOID_ENV'] = 'development'

#换成你刚才创建的mongoid.yml目录
Mongoid.load!("../config/mongoid.yml")

#可选,想复用model的话可以直接加载
Dir.glob("#{File.dirname(__FILE__)}/../app/models/*.rb") do |lib|
  require lib 
end

#试试输出ok即可
puts User.all.size

注意, 上面难理解是的MONGOID_ENV, 实际上它是为了支持rails,sinatra等加上去的,我们独立用的时候只能如此. 可以试着看看https://github.com/mongoid/mongoid/blob/master/lib/mongoid/config/environment.rb这个源码.

第二个注意点,mongoid要至少升到2.4.3以上,以前的版本问题比较多.会出现各种异常.

好的是,mongoid的团队给力,提的issues响应很快的说.

至此,问题已解决,如果你也有此需求,也可以试试.

mongoid的官方主页是:
http://mongoid.org/
发表评论
用户名: 匿名