Sua abordagem está basicamente correta. No entanto, eu não consideraria uma coleção como "enorme" Você pode executar algo semelhante no shell:
coll.find({}).forEach(function (doc) {
doc.flag = Math.floor((Math.random()*2)+1);
coll.save(doc);
});
Dependendo da sua versão, configuração e carregamento do MongoDB, isso pode levar alguns minutos a várias horas
Se você deseja realizar essa atualização em massa, use algumas condições em seu documento de consulta, como
coll.find({"aFiled" : {$gt : minVal}, "aFiled" : {$lt : maxVal}})