MongoDB 项目中如果用到了 mongodb,大家会用 Mongoid 吗?

WilliamZhu · 2012年08月12日 · 最后由 karmue 回复于 2013年06月18日 · 9026 次阅读

其实问题本质就是,mongoid 有必要吗?将 mongod 对象化的查询转化为 AR 的 Query 形式是不是有点退化呢?

以前 iteye 的消息系统第一版用 mongo 驱动来写,很多重复代码。为了精简代码,用 mongoid 不是坏事。

Mongodbid 是什么东西,没听过

#2 楼 @huacnlee Sorry 失误了。是 Mongoid 我已经更正过来。

#1 楼 @Rei 那现在 Iteye 是否使用 mongoid? 哈哈 直接使用 mongo 驱动 想来也有几个问题: 1 构造的 hash 对象比较多。 2 因为是构造对象,不是简单的一个 where 字符串,所以代码量确实会变多,而且重用也不好。

#4 楼 @WilliamZhu 如果有就想用,当初是因为 Rails 版本低用不上 mongoid。

The philosophy of Mongoid is to provide a familiar API to Ruby developers who have been using Active Record or Data Mapper, while leveraging the power of MongoDB's schemaless and performant document-based design, dynamic queries, and atomic modifier operations.

用啊,干嘛不用,ORM 可以让你的代码更加整洁,具有更好的可维护性。 别认为纯数据库的调用会比 ORM 的方式快,那是得你非常熟悉的时候,还有某些复杂的场景,就算你很熟练,也难免会出一些问题,而 ORM 可以尽量的让你避免这些问题。

这就好比你用用不用 Web 框架是同一个道理。

为什么不用,我都没怎么看 MongoDB 的东西就用上了。

匿名 #10 2012年08月13日

今天弄了下 mongoid,原来那东西对 rails 版本,对 mongo 的 gem 版本,还有 bson 的版本都有限制 弄得我还以为少做了什么。 我 rails3.0.10 配的就可以 gem "mongo","1.3.1" gem "bson", "1.3.1" gem "bson_ext", "1.3.1" gem "mongoid", "2.0.2"

之前 mongo 是 1.6.4,直接出错。。。

匿名 #11 2012年08月13日

谁来教教我,在我翻到第 2 页,进入帖子,回复完后,怎么回去第 2 页。。。貌似没快捷点的操作啊~

匿名 #13 2012年08月13日

@mimosa 我指的是。。。ruby-china 里没这个用户体验的效果 我分页一般用 will_paginate,比较熟悉。

#13 楼 @help5305fff redirect_back_or_default

匿名 #16 2012年08月14日

@mimosa 呵呵,怎么实现我知道,我是说我在这个贴里回复,然后没按钮回到所看的那一页分页里。。。

匿名 #17 2012年08月15日

楼主,mongoid 能够实现事务吗?粗略的看了文档没有找到哈

匿名 #18 2012年08月15日

嘎嘎,mongodb 没事直接的事务实现

nosql 大多没有事务,就是牺牲事务来换取速度的

翻了墙,没有太多的资料!难搞!

#20 楼 @simlegate 那个官方的例子还可以了。。

#10 楼 @Guest mongoid 2.x 比较悲剧吧,好像连 eager loading 都不支持

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