MongoDB heeft geen concept van $toLower
als een opdracht. De oplossing is om een grote for
. uit te voeren loop over de gegevens en geef de updates afzonderlijk uit.
U kunt dit in elke driver of vanuit de shell doen:
db.myCollection.find().forEach(
function(e) {
e.UserName = e.UserName.toLowerCase();
db.myCollection.save(e);
}
)
Je kunt de save ook vervangen door een atomaire update:
db.myCollection.update({_id: e._id}, {$set: {UserName: e.UserName.toLowerCase() } })
Nogmaals, je zou dit ook vanuit een van de stuurprogramma's kunnen doen, de code zal erg op elkaar lijken.
EDIT:Remon brengt een goed punt naar voren. De $toLower
commando bestaat als onderdeel van het aggregatieraamwerk, maar dit heeft niets te maken met updaten. De documentatie voor het updaten is hier.