Vad är db.collection.updateOne() i MongoDB?

Vad Ar Db Collection Updateone I Mongodb



MongoDB är en kraftfull icke-relationell databas som kan lagra flera dokument. Ibland kan användaren behöva uppdatera ett enda dokument som uppfyller vissa kriterier. I den här situationen kan de använda ' db.collection.updateOne() ”-metoden, som uppdaterar och modifierar det första dokumentet som uppfyller urvalskriterierna och modifierar det.

Vad är metoden 'db.collection.updateOne()' i MongoDB?

den ' db.collection.updateOne() ”-metoden uppdaterar ett enda dokument som matchar de definierade kriterierna. Om mer än ett dokument matchar kriterierna kommer endast det första dokumentet att ändras. Den kan användas med uppdateringsoperatörer, som ' $set ”, “ $inc ” och många fler .

Hur använder man metoden 'db.collection.updateOne()' i MongoDB?

den ' db.collection.updateOne() ”-metoden kan användas för att uppdatera ett enda fält såväl som flera fält i ett enda dokument som matchar urvalskriterierna. Dessutom kan denna metod också lägga till ett fält i ett dokument och kan användas med uppdateringsoperatörer. Syntaxen för ' db.collection.updateOne() ”-metoden finns nedan:







Grundläggande syntax



db.collection.updateOne ( { filter_kriterier } , { uppdatering } , { alternativ } )

Här i ovanstående syntax:



  • Denna metod kommer att uppdatera det första dokumentet som uppfyller urvalskriterierna
  • den ' filter_kriterier ” definierar kriterierna för uppdateringen
  • den ' uppdatering ” innehåller de fält som kommer att ändras i dokumentet
  • den ' alternativ '-argument är ett valfritt argument som modifierar hur denna metod fungerar, till exempel ' uppröra ' och ' antydan

För det här inlägget kommer vi att använda en ' Linuxhint_Col2 ' samlingens dokument för att visa hur ' db.collection.updateOne() 'metoden. För att se dokumenten som är lagrade i den här samlingen, kör det angivna kommandot:





db.Linuxhint_Col2.find ( )

Produktion

Utdata hämtade alla dokument som lagrats i ' Linuxhint_Col2 ” samling.



Exempel 1: Uppdatera ett enskilt fält
För att uppdatera det enskilda fältet i ett dokument, definiera dess urvalskriterier och uppdatera kriterierna. Uppdateringskriterierna kan definieras med hjälp av uppdateringsoperatorerna. Låt oss köra en fråga för att uppdatera ' Modelleringsavgift ' fältet till ' 18 000 ' där den ' Efternamn 'objekt är lika med' Depp ' i dokumentet:

db.Linuxhint_Col2.updateOne ( { 'Model_Name. Last_Name' : 'Depp' } , { $set : { Modelleringsavgift: 18 000 } } )

Produktion

Utdatat returnerade framgångsmeddelandet.

För att verifiera ändringarna som gjorts, hämta det berörda dokumentet med denna ' hitta() ” kommando:

db.Linuxhint_Col2.find ( { 'Model_Name. Last_Name' : 'Depp' } )

Produktion

Utdata verifierade att dokumentet uppdaterades framgångsrikt.

Exempel 2: Lägg till ett nytt fält med metoden “db.collection.updateOne()”.
den ' db.collection.updateOne() ”-metoden lägger till ett nytt fält med hjälp av ” $set ”-operatör i dokumentet om den inte redan finns. Som den ' Erfarenhet '-fältet finns inte för de dokument där ' Modelleringsavgift ' är mindre än ' 9000 ”.

Låt oss lägga till det nya fältet ' Erfarenhet ' med värdet ' Nybörjare ' i dokumentet där ' Modelleringsavgift ' är mindre än ' 9000 ' med den här frågan:

db.Linuxhint_Col2.updateOne ( { 'Modelleringsavgift' : { $lt : 9000 } } , { $set : { 'Erfarenhet' : 'Nybörjare' } } )

Produktion

Utdatat returnerar meddelandet som indikerar att ett dokument matchar urvalskriterierna och har modifierats framgångsrikt.

Låt oss verifiera det genom att hämta alla tillgängliga dokument i samlingen ' Linuxhint_Col2 ”:

db.Linuxhint_Col2.find ( )

Produktion

Utdata visar att ett dokument som uppfyller villkoret har ändrats och ett nytt fält har infogats.

Exempel 3: Uppdatera flera fält i ett dokument med metoden 'db.collection.updateOne()'
Användaren kan till och med ändra flera fält i ett enda dokument. Här kommer den här frågan nedan att ändra efternamnet och åldern för dokumentet där ' Förnamn 'likar med' Noah ':

db.Linuxhint_Col2.updateOne ( { 'Model_Name.First_Name' : 'Noah' } , { $set : { 'Model_Name. Last_Name' : 'Hind' , 'Model_Age' : 23 } } )

Produktion

Frågan har utförts utan några fel.

För att verifiera ändringarna, använd metoden 'find()' för att hämta dokumentet där ' Förnamn 'likar med' Noah :

db.Linuxhint_Col2.find ( { 'Model_Name.First_Name' : 'Noah' } )

Produktion

Utdatat returnerade det ändrade dokumentet.

Exempel 4: Använd metoden 'db.collection.updateOne()' med uppdateringsoperatörer
Som i föregående exempel använde vi ' $set ' uppdatera operatören för att ändra värdena i ' db.collection.updateOne() 'metoden. Låt oss försöka använda en annan uppdateringsoperatör ' $inc ” som ökar fältet med det angivna beloppet.

Här i frågan nedan söker metoden efter dokumentet där ' Förnamn 'likar med' Kate ” och lägger till ” 1000 ' i ' Modelleringsavgift ' fältets värde:

db.Linuxhint_Col2.updateOne ( { 'Model_Name.First_Name' : 'Kate' } , { $inc : { Modelleringsavgift: 1000 } } )

Produktion

Utdatat returnerade ett framgångsmeddelande.

För att se ändringarna, använd ' hitta() ” metod för att hämta det berörda dokumentet:

db.Linuxhint_Col2.find ( { 'Model_Name.First_Name' : 'Kate' } )

Produktion

Utdata visar det modifierade värdet av ' Modelleringsavgift ”.

Exempel 5: Lägg till ett nytt dokument om det inte redan finns med hjälp av 'upsert'-argument
Det valfria argumentet kan användas för att ändra beteendet för denna metod. Ett sådant alternativ är ' uppröra ” som lägger till ett nytt dokument om inget redan existerande dokument uppfyller urvalskriterierna som definierats i frågan.

Låt oss försöka lägga till ett nytt dokument genom att definiera urvalskriterierna som inte uppfyller några redan befintliga dokument. Efter det, ställ in några fält för det och lägg till alternativet ' uppröra ' som 'sant' som visas i kommandot nedan:

db.Linuxhint_Col2.updateOne ( { 'Model_Name.First_Name' : 'David' } , { $set : { Modelleringsavgift: 10 000 ,  Model_Age: 23 , 'Model_Name. Last_Name' : 'Smed' } } , { uppröra: Sann } )

Produktion

Utdatat visade att det bekräftade meddelandet var sant.

Slutligen, verifiera dess modifiering genom att köra detta kommando:

db.Linuxhint_Col2.find ( { 'Model_Name.First_Name' : 'David' } )

Produktion

Resultatet visade att det nya dokumentet har lagts till.

Slutsats

den ' db.collection.updateOne() ” metod i MongoDB används för att uppdatera det första dokumentet som uppfyller urvalskriterierna. Den kan modifiera ett enstaka eller flera fält i ett dokument genom att använda uppdateringsoperatorerna, som ' $set ' och ' $inc ”. Dessutom accepterar denna metod även valfria argument för att ändra metodens beteende, som ' uppröra ” som lägger till ett nytt dokument om urvalskriterierna inte matchar något befintligt dokument. Det här inlägget har diskuterat användningen av ' db.collection.updateOne() ”-metoden i MongoDB.