MongoDB Update() Dokument med eksempel
Grundlæggende dokumentopdateringer
MongoDB giver kommandoen update() til at opdatere dokumenterne i en samling. For kun at opdatere de dokumenter, du ønsker at opdatere, kan du tilføje et kriterium til opdateringserklæringen, så kun udvalgte dokumenter opdateres.
De grundlæggende parametre i kommandoen er en betingelse, for hvilket dokument skal opdateres, og den næste er den modifikation, der skal udføres.
Følgende eksempel viser, hvordan dette kan gøres.
Trin 1) Udsted opdateringskommandoen
Trin 2) Vælg den betingelse, du vil bruge til at beslutte, hvilket dokument der skal opdateres. I vores eksempel ønsker vi at opdatere dokumentet, som har medarbejder-id 22.
Trin 3) Brug kommandoen set til at ændre feltnavnet
Trin 4) Vælg hvilket feltnavn du vil ændre, og indtast den nye værdi i overensstemmelse hermed.
db.Employee.update( {"Employeeid" : 1}, {$set: { "EmployeeName" : "NewMartin"}});
Hvis kommandoen udføres med succes, vil følgende output blive vist
Output:
Outputtet viser tydeligt, at én post matchede betingelsen, og derfor blev den relevante feltværdi ændret.
Opdatering af flere værdier
For at sikre, at flere/massedokumenter opdateres på samme tid i MongoDB du skal bruge multi-indstillingen, fordi ellers som standard kun ét dokument ændres ad gangen.
Følgende eksempel viser, hvordan man opdaterer mange dokumenter.
I dette eksempel skal vi først finde det dokument, som har medarbejder-id'et som "1" og ændre medarbejdernavnet fra "Martin" til "NewMartin"
Trin 1) Udsted opdateringskommandoen
Trin 2) Vælg den betingelse, du vil bruge til at beslutte, hvilket dokument der skal opdateres. I vores eksempel ønsker vi, at dokumentet, som har medarbejder-id'et "1", skal opdateres.
Trin 3) Vælg hvilke feltnavne du vil ændre, og indtast deres nye værdi i overensstemmelse hermed.
db.Employee.update ( { Employeeid : 1 }, { $set : { "EmployeeName" : "NewMartin", "Employeeid" : 22 } } )
Hvis kommandoen udføres med succes, og hvis du kører "finde" kommando for at søge efter dokumentet med medarbejder-id som 22 vil du se følgende output vil blive vist
Output:
Outputtet viser tydeligt, at én post matchede betingelsen, og derfor blev den relevante feltværdi ændret.