La risposta di Nitin Garg sopra funziona quasi, tranne per il fatto che il suo esempio converte da una stringa a un hash, NON da una stringa a un array.
Tenendo conto dei commenti di Joel Harris, la soluzione corretta sarebbe:
db.jobs.find( { "jobLocationCity" : { $type : 2 } } ).snapshot().forEach( function (x) {
x.jobLocationCity = [ jobLocationCity ];
db.jobs.save(x);
});
O se si utilizza db.eval:
function f() {
db.jobs.find( { "jobLocationCity" : { $type : 2 } } ).snapshot().forEach( function (x) {
x.jobLocationCity = [ jobLocationCity ];
db.jobs.save(x);
});
}
db.eval(f);