sql >> Base de Datos >  >> NoSQL >> MongoDB

cambio de tipo mongodb a matriz

La respuesta anterior de Nitin Garg casi funciona, excepto que su ejemplo convierte una cadena en un hash, NO una cadena en una matriz.

Teniendo en cuenta los comentarios de Joel Harris, la solución adecuada sería:

db.jobs.find( { "jobLocationCity" : { $type : 2 } } ).snapshot().forEach( function (x) {
    x.jobLocationCity = [ jobLocationCity ];
    db.jobs.save(x);
});

O si usa db.eval:

function f() {
    db.jobs.find( { "jobLocationCity" : { $type : 2 } } ).snapshot().forEach( function (x) {
        x.jobLocationCity = [ jobLocationCity ];
        db.jobs.save(x);
    });
}
db.eval(f);