0

如何使用 Mongoid 进行批量更新?

具体来说,将一个现有字段复制到同一文档的另一个字段。

Product.collection.command("db.products.find(
    {gender : { $ne : null } }
  ).forEach(function(doc) {
    doc.archive_gender = doc.gender;
    doc.gender = null;
    db.products.save(doc);
  })"
)

干杯,科亚。

4

1 回答 1

1

好的,所以我们可以 $eval 任何 javascript,但请告诉我更好的解决方案。这就是我能够从一个字段与另一个字段在 MongoDB 中实现批量更新的方式。

db = Mongoid::Config::master
db.command({"$eval" => <<-ENDJS})
  db.products.find({
    gender:{ $ne: null }
  }).forEach(function(doc) {
    doc.archive_gender = doc.gender;
    doc.gender = null;
    db.products.save(doc);
  })
ENDJS

干杯,科亚。

于 2012-06-20T06:40:15.823 回答