नितिन गर्ग का उत्तर लगभग काम करता है, सिवाय उनके उदाहरण के एक स्ट्रिंग से हैश में परिवर्तित होता है, न कि एक स्ट्रिंग से एक सरणी में।
जोएल हैरिस की टिप्पणियों को ध्यान में रखते हुए, उचित समाधान इस तरह दिखेगा:
db.jobs.find( { "jobLocationCity" : { $type : 2 } } ).snapshot().forEach( function (x) {
x.jobLocationCity = [ jobLocationCity ];
db.jobs.save(x);
});
या यदि db.eval का उपयोग कर रहे हैं:
function f() {
db.jobs.find( { "jobLocationCity" : { $type : 2 } } ).snapshot().forEach( function (x) {
x.jobLocationCity = [ jobLocationCity ];
db.jobs.save(x);
});
}
db.eval(f);