如何从Mongoid直接访问MongoDB API?

时间:2011-01-24 11:12:35

标签: ruby-on-rails-3 mongodb mongoid

我想使用MongoDB的addToSet方法,但Mongoid目前还不支持。有没有办法直接从我的Rails模型访问MongoDB驱动程序?

3 个答案:

答案 0 :(得分:8)

我问了这个问题on Mongoid group,这是最好的回答:

  

假设您的模型对象是Mongoid :: Document,只需调用   “db”方法就可以获得Mongoid的Mongo :: DB对象的句柄   在引擎盖下使用。

     

http://rdoc.info/github/mongoid/mongoid/master/Mongoid/Collections/Cl...

     

从那里,您可以直接使用MongoDB Ruby驱动程序API。

     

http://api.mongodb.org/ruby/current/file.TUTORIAL.html#

此外,您可以使用ModelName.collection访问记录集合。

答案 1 :(得分:0)

您可以使用mongodb中的mongo-ruby-driver gem:

https://github.com/mongodb/mongo-ruby-driver

检查api中的更新方法:

http://api.mongodb.org/ruby/1.2.0/Mongo/Collection.html#update-instance_method

此选项可能正是您要使用的 addToSet

(Boolean) :upsert — default: +false+ — if true, performs an upsert (update or insert)

答案 2 :(得分:0)

直到并包含Mongoid 2.4,您可以使用

访问数据库对象
db = Mongoid.master