5

Railsコントローラーで直接実行したい次の生のmongoクエリがあります:

 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を使用してこれを行う同等の方法は何ですか?生のMongoDBクエリをRubyで直接起動する方法を試しましたが、MongoMapperを使用していません。

ありがとうございました。

編集:この問題に対する私の解決策は、Mongoidのドキュメントから次のコマンドを実行することでした。

UserPlace.where(place_id: destroy_model.id).update_all(place_id: keep_model.id)

これにより、上記の生のmongoクエリが生成され、ActiveRecord方式で実行されます。

4

1 に答える 1

0

Mongoコンソールとの接続を確立せずにそれを行う方法を見つけました。mongoidを使用すると、update_allを使用して同じクエリを生成できます。

于 2012-12-21T00:19:47.057 に答える