MongoDB - каков самый быстрый способ обновить все записи в коллекции?

У меня есть коллекция с 9 миллионов записей. В настоящее время я использую следующий сценарий для обновления всей коллекции:

simple_update. js

db.mydata.find().forEach(function(data) {
  db.mydata.update({_id:data._id},{$set:{pid:(2571 - data.Y + (data.X * 2572))}});
});

Это выполняется из командной строки следующим образом:

mongo my_test simple_update.js

Все, что я делаю, это добавляю новое поле pid на основе простого вычисления.

Есть ли более быстрый способ? Это занимает много времени.

38
задан JohnnyHK 24 May 2014 в 14:44
поделиться