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

Atualize a coleção do MongoDB usando $toLower


MongoDB não tem um conceito de $toLower como um comando. A solução é executar um grande for faça um loop sobre os dados e emita as atualizações individualmente.

Você pode fazer isso em qualquer driver ou no shell:
db.myCollection.find().forEach(
  function(e) {
    e.UserName = e.UserName.toLowerCase();
    db.myCollection.save(e);
  }
)

Você também pode substituir o save por uma atualização atômica:
db.myCollection.update({_id: e._id}, {$set: {UserName: e.UserName.toLowerCase() } })

Novamente, você também pode fazer isso de qualquer um dos drivers, o código será muito semelhante.

EDIT:Remon traz um bom ponto. O $toLower O comando existe como parte da estrutura de agregação, mas isso não tem nada a ver com a atualização. A documentação para atualização está aqui.