In realtà la prima opzione è abbastanza veloce anche con dati enormi. Ecco una query di esempio utilizzando la console mongo:
/usr/bin/mongo yourdbname --eval "db.yourcollectionname.find().forEach(function(doc){doc.yourdatefield = new ISODate(doc.yourdatefield);db.yourcollectionname.save(doc)});"