Het bovenstaande antwoord van Nitin Garg werkt bijna, behalve dat zijn voorbeeld converteert van een string naar een hash, NIET van een string naar een array.
Rekening houdend met de opmerkingen van Joel Harris, zou de juiste oplossing er als volgt uitzien:
db.jobs.find( { "jobLocationCity" : { $type : 2 } } ).snapshot().forEach( function (x) {
x.jobLocationCity = [ jobLocationCity ];
db.jobs.save(x);
});
Of als u db.eval gebruikt:
function f() {
db.jobs.find( { "jobLocationCity" : { $type : 2 } } ).snapshot().forEach( function (x) {
x.jobLocationCity = [ jobLocationCity ];
db.jobs.save(x);
});
}
db.eval(f);