MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Aktualisieren Sie die MongoDB-Sammlung mit $toLower

MongoDB hat kein Konzept von $toLower als Befehl. Die Lösung besteht darin, einen großen for auszuführen die Daten durchschleifen und die Updates einzeln ausgeben.

Sie können dies in jedem Treiber oder von der Shell aus tun:

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

Sie können das Speichern auch durch ein atomares Update ersetzen:

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

Auch hier können Sie dies von jedem der Treiber aus tun, der Code wird sehr ähnlich sein.

EDIT:Remon bringt einen guten Punkt. Der $toLower Der Befehl existiert zwar als Teil des Aggregations-Frameworks, aber das hat nichts mit der Aktualisierung zu tun. Die Dokumentation zur Aktualisierung finden Sie hier.