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!