Mongoid迁移从字符串更新字段到时间戳而不使用模型

时间:2015-07-03 15:49:24

标签: ruby-on-rails ruby mongoid moped

我想更新集合的一个字段,它实际上有一个日期的字符串表示,并将其更改为ISODate。

我已经有了一个解决方案,但效率很低:

class MoveTimestampsFromStringToTimestamp < Mongoid::Migration
  def self.up
    self[:stats].find({"timestamp"=>{"$type"=>2}}).each do |stat|
      stat["timestamp"] = DateTime.parse(stat["timestamp"])
      self[:stats].find({_id: stat["_id"]}).update({"$set" => stat})
    end
  end
end

我想在一次操作中更新它,而不是搜索和更新每条记录。

0 个答案:

没有答案