首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mongoid 3.0.0未定义Mongoid:Module的方法‘`master’

Mongoid 3.0.0未定义Mongoid:Module的方法‘`master’
EN

Stack Overflow用户
提问于 2012-05-06 17:33:44
回答 1查看 1.3K关注 0票数 2
代码语言:javascript
复制
 Mongoid.master.collection("seq").find_and_modify({
   :query  => {:_id   => self.class.name},
   :update => {'$inc' => {:next => 1}},
   :new    => true,
   :upsert => true
})["next"]

它在mongoid 2.4.9中工作得很好,但是当我使用mongoid 3.0.0时,我得到了错误

代码语言:javascript
复制
NoMethodError in PostsController#new

undefined method `master' for Mongoid:Module

Mongoid3.0.0不支持Mongoid.master?

EN

回答 1

Stack Overflow用户

发布于 2012-05-29 13:14:14

因为Mongoid 3.0.0是用Moped代替Mongo Ruby驱动程序,所以旧的API不能调用not。

您可以尝试这样做:

代码语言:javascript
复制
Mongoid::Sessions.default.command({:findAndModify => "seq",
                                         :query  => { :_id => self.class.name },
                                         :update => { "$inc" => { :next => 1 } },
                                         :upsert => true,
                                         :new    => true })

你可以使用这个Gem来实现自动递增id特性:https://github.com/huacnlee/mongoid_auto_increment_id

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10469521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档