sql >> Databasteknik >  >> NoSQL >> MongoDB

Uppdatera MongoDB-samlingen med $toLower

MongoDB har inte konceptet $toLower som ett kommando. Lösningen är att köra en stor for gå över data och utfärda uppdateringarna individuellt.

Du kan göra detta i vilken drivrutin som helst eller från skalet:

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

Du kan också ersätta spara med en atomic update:

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

Återigen, du kan också göra detta från någon av drivrutinerna, koden kommer att vara väldigt lik.

EDIT:Remon tar upp en bra poäng. $toLower kommandot finns som en del av aggregeringsramverket, men detta har inget med uppdatering att göra. Dokumentationen för uppdatering finns här.



  1. Hur säkerställer man unika objekt i en array baserat på specifika fält - mongoDB?

  2. MongoDB som kötjänst?

  3. Mongo DB hittar alla poster med högsta värde beroende på ett nyckelfält

  4. Vad är skillnaden mellan spara och infoga i Mongo DB?