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

わかりましたので、任意の JavaScript を $eval できますが、より良い解決策を教えてください。これが、あるフィールドから別のフィールドへの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 に答える