Conversão de tipos com MongoDB

0

Recentemente precisei fazer uma parte que me deu um pouco de cabeça, não pela dificuldade em si, mas pela falta de documentação da função.

Precisei alterar um tipo de objeto na coleção inteira do mongoDB.

Veja os exemplos:

//inteiro para string
db.temp.find({name: {$exists:true}}).forEach( function(x) {
    db.temp.update({_id: x._id}, {$set: {name: x.name.toString()}});
});

//string para data
db.temp.find({name: {$exists:true}}).forEach( function(x) {
    db.temp.update({_id: x._id}, {$set: {name: ISODate(x.name}});
});

//string para inteiro
db.temp.find({name: {$exists:true}}).forEach( function(x) {
    db.temp.update({_id: x._id}, {$set: {name: NumberInt(x.name)}});
});

Apenas criamos uma função para percorrer toda coleção e procurar o campo específico alterando o seu tipo base.

Legal, né? 🙂

Um grande abraço!

Não deixem de passar na nossa página do Facebook!

 

Compartilhe.

Sobre o autor

Criador do blog Código Simples e com mais 9 anos de experiência em TI, com títulos de MVP Microsoft na área de Visual Studio Development, Neo4j Top 50 Certificate, Scrum Master e MongoDB Evangelist. Atuando em funções analista, desenvolvedor, arquiteto, líder técnico e gestor de equipes. Mais informações em : http://jhonathansoares.com