Cách tiếp cận của bạn về cơ bản là đúng. Tuy nhiên, tôi sẽ không coi một bộ sưu tập như vậy là "khổng lồ". Bạn có thể chạy một cái gì đó tương tự từ shell:
coll.find({}).forEach(function (doc) {
doc.flag = Math.floor((Math.random()*2)+1);
coll.save(doc);
});
Tùy thuộc vào phiên bản MongoDB, cấu hình và tải của bạn, quá trình này có thể mất vài phút đến vài giờ
Nếu bạn muốn thực hiện cập nhật này hàng loạt, hãy sử dụng một số điều kiện trong tài liệu truy vấn của bạn, chẳng hạn như coll.find({"aFiled" : {$gt : minVal}, "aFiled" : {$lt : maxVal}})