Powyższa odpowiedź Nitina Garga prawie działa, z wyjątkiem tego, że jego przykład konwertuje z łańcucha na skrót, a NIE z łańcucha na tablicę.
Uwzględniając uwagi Joela Harrisa, właściwe rozwiązanie wyglądałoby tak:
db.jobs.find( { "jobLocationCity" : { $type : 2 } } ).snapshot().forEach( function (x) {
x.jobLocationCity = [ jobLocationCity ];
db.jobs.save(x);
});
Lub jeśli używasz db.eval:
function f() {
db.jobs.find( { "jobLocationCity" : { $type : 2 } } ).snapshot().forEach( function (x) {
x.jobLocationCity = [ jobLocationCity ];
db.jobs.save(x);
});
}
db.eval(f);