Nitin Gargs svar ovan fungerar nästan, förutom att hans exempel konverterar från en sträng till en hash, INTE en sträng till en array.
Med hänsyn till Joel Harris kommentarer skulle den rätta lösningen se ut så här:
db.jobs.find( { "jobLocationCity" : { $type : 2 } } ).snapshot().forEach( function (x) {
x.jobLocationCity = [ jobLocationCity ];
db.jobs.save(x);
});
Eller om du använder db.eval:
function f() {
db.jobs.find( { "jobLocationCity" : { $type : 2 } } ).snapshot().forEach( function (x) {
x.jobLocationCity = [ jobLocationCity ];
db.jobs.save(x);
});
}
db.eval(f);