MongoDB не имеет понятия $toLower
как команды. Решение состоит в том, чтобы запустить большой цикл for
для данных и выпускать обновления по отдельности.
Вы можете сделать это в любом драйвере или из оболочки:
db.myCollection.find().forEach(
function(e) {
e.UserName = e.UserName.toLowerCase();
db.myCollection.save(e);
}
)
Вы также можете заменить сохранение атомным обновлением:
db.myCollection.update({_id: e._id}, {$set: {UserName: e.UserName.toLowerCase() } })
Опять же, вы также можете сделать это из любого драйвера, код будет очень похож.
РЕДАКТИРОВАТЬ: Ремон поднимает хорошую мысль. Команда $toLower
существует как часть структуры агрегации, но это не имеет ничего общего с обновлением. Документация для обновления здесь .