免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3387 | 回复: 1
打印 上一主题 下一主题

独立rails使用mongoid [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-02-13 14:50 |只看该作者 |倒序浏览
独立rails使用mongoid






NoSQL不得不说优点有很多,



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

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

就足够我拥抱一下了.

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

作一个yml配置,如果是想使用rails项目下的,也可以:
Js代码
  1. development:   
  2.   host: localhost   
  3.   database: personal_center_development   
  4.   
  5. test:   
  6.   host: localhost   
  7.   database: personal_center_test  

  8. # set these environment variables on your prod server   
  9. production:   
  10.   host: <%= ENV['MONGOID_HOST'] %>   
  11.   port: <%= ENV['MONGOID_PORT'] %>   
  12.   username: <%= ENV['MONGOID_USERNAME'] %>   
  13.   password: <%= ENV['MONGOID_PASSWORD'] %>   
  14.   database: <%= ENV['MONGOID_DATABASE'] %>  

  15. development:
  16.   host: localhost
  17.   database: personal_center_development

  18. test:
  19.   host: localhost
  20.   database: personal_center_test

  21. # set these environment variables on your prod server
  22. production:
  23.   host: <%= ENV['MONGOID_HOST'] %>
  24.   port: <%= ENV['MONGOID_PORT'] %>
  25.   username: <%= ENV['MONGOID_USERNAME'] %>
  26.   password: <%= ENV['MONGOID_PASSWORD'] %>
  27.   database: <%= ENV['MONGOID_DATABASE'] %>
复制代码
下面且看如何加载:

Ruby代码
  1. require 'mongoid'  
  2.   
  3. ENV['MONGOID_ENV'] = 'development'  
  4.   
  5. #换成你刚才创建的mongoid.yml目录   
  6. Mongoid.load!("../config/mongoid.yml")   
  7.   
  8. #可选,想复用model的话可以直接加载   
  9. Dir.glob("#{File.dirname(__FILE__)}/../app/models/*.rb") do |lib|   
  10.   require lib   
  11. end  
  12.   
  13. #试试输出ok即可   
  14. puts User.all.size  

  15. require 'mongoid'

  16. ENV['MONGOID_ENV'] = 'development'

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

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

  23. #试试输出ok即可
  24. 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/

论坛徽章:
0
2 [报告]
发表于 2012-02-13 14:50 |只看该作者
谢谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP