У меня миллионы строк в коллекции монго, и мне нужно обновить все из них.
Я написал скрипт оболочки Mongo (JS), например:
db.Test.find().forEach(function(row) {
// change data and db.Test.save()
});
который (я думаю) должен быть быстрее, чем, например, обновление через любой языковой драйвер из-за возможной задержки между веб-сервером и самим сервером mongo, а также просто потому, что драйвер " что-то сверху ", а mongo " что-то в подвале ».
Даже если он может обновляться приблизительно 2 100 rec./sec на четырехъядерном процессоре 2,27 ГГц с 4 ГБ ОЗУ.
Как я знаю, mongoimport может справиться с 40k rec./sec (на той же машине), я не думаю, что упомянутая скорость является чем-то "быстрым".
Есть ли более быстрый способ?