我想使用MongoDB的addToSet方法,但Mongoid目前还不支持。有没有办法直接从我的Rails模型访问MongoDB驱动程序?
答案 0 :(得分:8)
我问了这个问题on Mongoid group,这是最好的回答:
假设您的模型对象是Mongoid :: Document,只需调用 “db”方法就可以获得Mongoid的Mongo :: DB对象的句柄 在引擎盖下使用。
http://rdoc.info/github/mongoid/mongoid/master/Mongoid/Collections/Cl...
从那里,您可以直接使用MongoDB Ruby驱动程序API。
此外,您可以使用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