MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

mudança de tipo mongodb para array


A resposta de Nitin Garg acima quase funciona, exceto que seu exemplo converte de uma string para um hash, NÃO uma string para uma matriz.

Levando em conta os comentários de Joel Harris, a solução adequada seria:
db.jobs.find( { "jobLocationCity" : { $type : 2 } } ).snapshot().forEach( function (x) {
    x.jobLocationCity = [ jobLocationCity ];
    db.jobs.save(x);
});

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