我有跟随原始mongo查询,我想直接在我的Rails控制器中执行:
db.user_places.update({place_id: destroy_model.id}, {$set: {place_id: keep_model.id}}, false, true)
对于续集,我使用ActiveRecord::Base.connection.execute(sql)
来执行我的SQL查询。
使用MongoDB / mongoid gem执行此操作的等效方法是什么?我试过跟How to fire raw MongoDB queries directly in Ruby,但我没有使用MongoMapper。
谢谢。
编辑:我解决这个问题的方法是从Mongoid文档中运行以下命令:
UserPlace.where(place_id: destroy_model.id).update_all(place_id: keep_model.id)
这将生成上面的原始mongo查询并以ActiveRecord方式执行它。
答案 0 :(得分:0)
我找到了一种方法,无需与Mongo控制台建立连接。使用mongoid,您只需使用update_all生成相同的查询。