【问题标题】:Executing raw MongoDB queries in Rails controller在 Rails 控制器中执行原始 MongoDB 查询
【发布时间】:2012-12-08 13:54:02
【问题描述】:

我有以下原始 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 方式执行。

【问题讨论】:

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


    【解决方案1】:

    我找到了一种无需与 Mongo 控制台建立连接的方法。使用 mongoid,您可以只使用 update_all 来生成相同的查询。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-16
      • 2014-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多