Kas ir db.collection.updateOne() MongoDB?

Kas Ir Db Collection Updateone Mongodb



MongoDB ir spēcīga nerelāciju datu bāze, kurā var uzglabāt vairākus dokumentus. Dažreiz lietotājam var būt nepieciešams atjaunināt vienu dokumentu, kas atbilst noteiktiem kritērijiem. Šādā situācijā viņi var izmantot “ db.collection.updateOne() ” metodi, kas atjaunina un modificē pirmo dokumentu, kas atbilst atlases kritērijiem, un modificē to.

Kas ir MongoDB metode “db.collection.updateOne()”?

' db.collection.updateOne() ” metode atjaunina vienu dokumentu, kas atbilst definētajiem kritērijiem. Ja kritērijiem atbilst vairāk nekā viens dokuments, tiks mainīts tikai pirmais dokuments. To var izmantot ar atjaunināšanas operatoriem, piemēram, “ $set ”, “ $inc ' un daudz vairāk .

Kā MongoDB izmantot metodi “db.collection.updateOne()”?

' db.collection.updateOne() ” metodi var izmantot, lai atjauninātu vienu lauku, kā arī vairākus viena dokumenta laukus, kas atbilst atlases kritērijiem. Turklāt šī metode var arī pievienot lauku dokumentam, un to var izmantot ar atjaunināšanas operatoriem. 'Sintakse' db.collection.updateOne() ” metode ir sniegta zemāk:







Pamata sintakse



db.collection.updateOne ( { filtra_kritēriji } , { Atjaunināt } , { iespējas } )

Šeit iepriekš minētajā sintaksē:



  • Šī metode atjauninās pirmo dokumentu, kas atbilst atlases kritērijiem
  • ' filtra_kritēriji ” definē atjaunināšanas kritērijus
  • ' Atjaunināt ” satur laukus, kas tiks mainīti dokumentā
  • ' iespējas ' arguments ir neobligāts arguments, kas maina šīs metodes darbību, piemēram, ' sajukums ' un ' mājienu

Šai ziņai mēs izmantosim ' Linuxhint_Col2 ” kolekcijas dokumenti, lai demonstrētu db.collection.updateOne() ” metode. Lai skatītu šajā kolekcijā glabātos dokumentus, izpildiet norādīto komandu:





db.Linuxhint_Col2.find ( )

Izvade

Izvade izguva visus dokumentus, kas saglabāti mapē Linuxhint_Col2 ” kolekcija.



1. piemērs: atjauniniet vienu lauku
Lai dokumentā atjauninātu vienu lauku, definējiet tā atlases kritērijus un atjauniniet kritērijus. Atjaunināšanas kritērijus var definēt, izmantojot atjaunināšanas operatorus. Ļaujiet mums izpildīt vaicājumu, lai atjauninātu ' Modelēšanas_Maksa ' lauks uz ' 18 000 ' kur ' Uzvārds 'objekts ir vienāds' Deps ” dokumentā:

db.Linuxhint_Col2.updateOne ( { 'Modeļa_nosaukums.Uzvārds' : 'Deps' } , { $set : { Modeling_Fee: 18 000 } } )

Izvade

Izvade atgrieza veiksmes ziņojumu.

Lai pārbaudītu veiktās izmaiņas, izgūstiet ietekmēto dokumentu, izmantojot šo ' atrast () ” komanda:

db.Linuxhint_Col2.find ( { 'Modeļa_nosaukums.Uzvārds' : 'Deps' } )

Izvade

Izvade apstiprināja, ka dokuments ir veiksmīgi atjaunināts.

2. piemērs: pievienojiet jaunu lauku, izmantojot metodi “db.collection.updateOne()”
' db.collection.updateOne() metode pievieno jaunu lauku, izmantojot $set ” operatoru dokumentā, ja tas vēl neeksistē. Kā “ Pieredze ' lauks nepastāv dokumentiem, kur ' Modelēšanas_Maksa ' ir mazāks par ' 9000 ”.

Pievienosim jaunu lauku “ Pieredze ' ar vērtību ' Iesācējs ' dokumentā, kur ' Modelēšanas_Maksa ' ir mazāks par ' 9000 ” izmantojot šo vaicājumu:

db.Linuxhint_Col2.updateOne ( { 'Modelēšanas_maksa' : { $ lt : 9000 } } , { $set : { 'Pieredze' : 'Iesācējs' } } )

Izvade

Izvade atgriež ziņojumu, kas norāda, ka viens dokuments atbilst atlases kritērijiem un ir veiksmīgi modificēts.

Ļaujiet mums to pārbaudīt, izgūstot visus kolekcijā pieejamos dokumentus ' Linuxhint_Col2 ”:

db.Linuxhint_Col2.find ( )

Izvade

Izvade parāda, ka viens nosacījumam atbilstošs dokuments ir modificēts un jauns lauks ir veiksmīgi ievietots.

3. piemērs: atjauniniet vairākus dokumenta laukus, izmantojot metodi “db.collection.updateOne()”
Lietotājs var modificēt vairākus laukus vienā dokumentā pat. Šeit šis tālāk sniegtais vaicājums mainīs uzvārdu un vecumu dokumentam, kur “ Vārds 'vienāds' Noa “:

db.Linuxhint_Col2.updateOne ( { 'Modeļa_nosaukums.Vārds' : 'Noa' } , { $set : { 'Modeļa_nosaukums.Uzvārds' : 'Dirzīte' , 'Model_Age' : 23 } } )

Izvade

Vaicājums ir izpildīts bez kļūdām.

Lai pārbaudītu izmaiņas, izmantojiet metodi “find()”, lai izgūtu dokumentu, kur “ Vārds 'vienāds' Noa :

db.Linuxhint_Col2.find ( { 'Modeļa_nosaukums.Vārds' : 'Noa' } )

Izvade

Izvade veiksmīgi atgrieza modificēto dokumentu.

4. piemērs: izmantojiet metodi “db.collection.updateOne()” ar atjaunināšanas operatoriem
Tāpat kā iepriekšējā piemērā, mēs izmantojām ' $set ” atjauniniet operatoru, lai mainītu vērtības db.collection.updateOne() ” metode. Mēģināsim izmantot citu atjaunināšanas operatoru $inc ”, kas palielina lauku ar norādīto summu.

Šeit tālāk sniegtajā vaicājumā metode meklē dokumentu, kurā “ Vārds 'vienāds' Keita 'un piebilst' 1000 ' iekš ' Modelēšanas_Maksa ” lauka vērtība:

db.Linuxhint_Col2.updateOne ( { 'Modeļa_nosaukums.Vārds' : 'Kate' } , { $inc : { Modeling_Fee: 1000 } } )

Izvade

Izvade atgrieza veiksmes ziņojumu.

Lai redzētu izmaiņas, izmantojiet ' atrast () ” metode ietekmētā dokumenta izgūšanai:

db.Linuxhint_Col2.find ( { 'Modeļa_nosaukums.Vārds' : 'Kate' } )

Izvade

Izvade attēlo modificēto vērtību ' Modelēšanas_Maksa ”.

5. piemērs: pievienojiet jaunu dokumentu, ja tas jau neeksistē, izmantojot “upsert” argumentu
Neobligāto argumentu var izmantot, lai mainītu šīs metodes darbību. Viena no šādām iespējām ir ' sajukums ”, kas pievieno jaunu dokumentu, ja neviens jau esošais dokuments neatbilst vaicājumā definētajiem atlases kritērijiem.

Mēģināsim pievienot jaunu dokumentu, definējot atlases kritērijus, kas neatbilst nevienam jau esošajam dokumentam. Pēc tam iestatiet dažus laukus un pievienojiet opciju “ sajukums ” kā “true”, kā parādīts tālāk sniegtajā komandā:

db.Linuxhint_Col2.updateOne ( { 'Modeļa_nosaukums.Vārds' : 'Dāvids' } , { $set : { Modeling_Fee: 10 000 , Model_Age: 23 , 'Modeļa_nosaukums.Uzvārds' : 'Smits' } } , { uzlikt: taisnība } )

Izvade

Izvade parādīja apstiprināto ziņojumu kā patiesu.

Visbeidzot, pārbaudiet tā modifikāciju, izpildot šo komandu:

db.Linuxhint_Col2.find ( { 'Modeļa_nosaukums.Vārds' : 'Dāvids' } )

Izvade

Izvade parāda, ka jaunais dokuments ir veiksmīgi pievienots.

Secinājums

' db.collection.updateOne() ” metode MongoDB tiek izmantota, lai atjauninātu pirmo dokumentu, kas atbilst atlases kritērijiem. Tas var modificēt vienu, kā arī vairākus dokumenta laukus, izmantojot atjaunināšanas operatorus, piemēram, ' $set ' un ' $inc ”. Turklāt šī metode pieņem arī izvēles argumentus, lai mainītu metodes darbību, piemēram, ' sajukums ”, kas pievieno jaunu dokumentu gadījumā, ja atlases kritēriji neatbilst nevienam esošajam dokumentam. Šajā ziņojumā ir runāts par ' db.collection.updateOne() ” metode MongoDB.