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.