MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Aggiorna la raccolta di MongoDB usando $toLower

MongoDB non ha un concetto di $toLower come comando. La soluzione è eseguire un grande for scorrere i dati ed emettere gli aggiornamenti individualmente.

Puoi farlo in qualsiasi driver o dalla shell:

db.myCollection.find().forEach(
  function(e) {
    e.UserName = e.UserName.toLowerCase();
    db.myCollection.save(e);
  }
)

Puoi anche sostituire il salvataggio con un aggiornamento atomico:

db.myCollection.update({_id: e._id}, {$set: {UserName: e.UserName.toLowerCase() } })

Anche in questo caso, puoi farlo anche da qualsiasi driver, il codice sarà molto simile.

EDIT:Remon solleva un buon punto. Il $toLower il comando esiste come parte del framework di aggregazione, ma questo non ha nulla a che fare con l'aggiornamento. La documentazione per l'aggiornamento è qui.