我正在迭代一个集合(将 Moped 作为 Ruby 驱动程序运行),但是如何为每个文档更新一个字段?
irb> session = Moped::Session.new(["127.0.0.1:27017"])
irb> session.use :demoapp
irb> users = session[:users]
irb> users.find.each {|u| u.update(age: rand(18..80))}
这不会更新字段“年龄”,而一个简单的
irb> users.find.each {|u| users.find(_id: u["_id"]).update(age: rand(18..80))}
做。但是迭代一个集合然后在每次迭代中查找 id 似乎不是很有效。那么我该如何简化呢?我需要一些快速的方法来以这种方式更新数百万个文档。
问候,克里斯