- 论坛徽章:
- 0
|
独立rails使用mongoid
NoSQL不得不说优点有很多,
就
1. 存储任何对象,图片,文件,等等
2. 不限制相同对象存储.
就足够我拥抱一下了.
于是,转入ruby下看看, 有mongoid逐渐要取代mongomapper的感觉,下面就我个人独立使用mongoid作一个记录:
作一个yml配置,如果是想使用rails项目下的,也可以:
Js代码- 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'] %>
- 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'] %>
复制代码 下面且看如何加载:
Ruby代码- 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
- 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/mongo ... nfig/environment.rb这个源码.
第二个注意点,mongoid要至少升到2.4.3以上,以前的版本问题比较多.会出现各种异常.
好的是,mongoid的团队给力,提的issues响应很快的说.
至此,问题已解决,如果你也有此需求,也可以试试.
mongoid的官方主页是:
http://mongoid.org/
|
|