Ce este db.collection.updateOne() în MongoDB?

Ce Este Db Collection Updateone In Mongodb



MongoDB este o bază de date puternică non-relațională care poate stoca mai multe documente. Uneori, utilizatorul poate avea nevoie să actualizeze un singur document care îndeplinește anumite criterii. În această situație, ei pot folosi „ db.collection.updateOne() ” metoda, care actualizează și modifică primul document care îndeplinește criteriile de selecție și îl modifică.

Ce este metoda „db.collection.updateOne()” în MongoDB?

db.collection.updateOne() ” metoda actualizează un singur document care corespunde criteriilor definite. Dacă mai multe documente corespund criteriilor, doar primul document va fi modificat. Poate fi folosit cu Operatori de actualizare, cum ar fi „ $set ”, “ $inc ' și multe altele .

Cum se utilizează metoda „db.collection.updateOne()” în MongoDB?

db.collection.updateOne() ” poate fi utilizată pentru a actualiza un singur câmp, precum și mai multe câmpuri ale unui singur document care corespund criteriilor de selecție. Mai mult, această metodă poate adăuga și un câmp la un document și poate fi folosită cu operatori de actualizare. Sintaxa lui „ db.collection.updateOne() ” metoda este prezentată mai jos:







Sintaxa de bază



db.collection.updateOne ( { criterii_filtru } , { Actualizați } , { Opțiuni } )

Aici, în sintaxa de mai sus:



  • Această metodă va actualiza primul document care îndeplinește criteriile de selecție
  • criterii_filtru ” definește criteriile de actualizare
  • Actualizați ” conține câmpurile care vor fi modificate în document
  • Opțiuni „Argumentul este un argument opțional care modifică funcționarea acestei metode, cum ar fi „ supărat ' și ' aluzie

Pentru această postare, vom folosi un „ Linuxhint_Col2 „documentele colecției pentru a demonstra funcționarea „ db.collection.updateOne() ” metoda. Pentru a vizualiza documentele stocate în această colecție, executați comanda furnizată:





db.Linuxhint_Col2.find ( )

Ieșire

Ieșirea a preluat toate documentele stocate în „ Linuxhint_Col2 ' Colectie.



Exemplul 1: Actualizați un singur câmp
Pentru a actualiza un singur câmp dintr-un document, definiți criteriile de selecție ale acestuia și actualizați criteriile. Criteriile de actualizare pot fi definite folosind operatorii de actualizare. Să lansăm o interogare pentru a actualiza „ Taxa de modelare „câmp la „ 18000 ' unde ' Nume „obiect este egal cu” Depp ” în document:

db.Linuxhint_Col2.updateOne ( { „Nume_Model.Nume_Nume” : 'Depp' } , { $set : { Taxa de modelare: 18000 } } )

Ieșire

Ieșirea a returnat mesajul de succes.

Pentru a verifica modificările efectuate, preluați documentul afectat folosind acest „ găsi() ”comandă:

db.Linuxhint_Col2.find ( { „Nume_Model.Nume_Nume” : 'Depp' } )

Ieșire

Rezultatul a verificat că documentul a fost actualizat cu succes.

Exemplul 2: Adăugați un câmp nou utilizând metoda „db.collection.updateOne()”
db.collection.updateOne() ” metoda adaugă un câmp nou folosind “ $set ” operator în document dacă acesta nu există deja. Dupa cum ' Experienţă câmpul ” nu există pentru documentele în care „ Taxa de modelare ' e mai puțin decât ' 9000 ”.

Să adăugăm noul câmp „ Experienţă „cu valoarea „ Începător ” în documentul în care „ Taxa de modelare ' e mai puțin decât ' 9000 ” folosind această interogare:

db.Linuxhint_Col2.updateOne ( { „Taxa de modelare” : { $lt : 9000 } } , { $set : { 'Experienţă' : 'Începător' } } )

Ieșire

Ieșirea returnează mesajul care indică faptul că un document corespunde criteriilor de selecție și este modificat cu succes.

Să o verificăm prin preluarea tuturor documentelor disponibile în colecție „ Linuxhint_Col2 ”:

db.Linuxhint_Col2.find ( )

Ieșire

Rezultatul arată că un document care îndeplinește condiția este modificat și un câmp nou este inserat cu succes.

Exemplul 3: Actualizați mai multe câmpuri ale unui document utilizând metoda „db.collection.updateOne()”
Utilizatorul poate modifica mai multe câmpuri într-un singur document chiar. Aici această interogare de mai jos va modifica numele de familie și vârsta documentului în care „ Nume „echivalează cu „ Noah „:

db.Linuxhint_Col2.updateOne ( { „Nume_Model.Prenumele” : 'Noe' } , { $set : { „Nume_Model.Nume_Nume” : 'Căprioară' , „Vârsta_modelului” : 23 } } )

Ieșire

Interogarea a fost executată fără nicio eroare.

Pentru a verifica modificările, utilizați metoda „find()” pentru a prelua documentul în care „ Nume „echivalează cu „ Noah :

db.Linuxhint_Col2.find ( { „Nume_Model.Prenumele” : 'Noe' } )

Ieșire

Rezultatul a returnat documentul modificat cu succes.

Exemplul 4: Utilizați metoda „db.collection.updateOne()” cu operatorii de actualizare
Ca și în exemplul anterior, am folosit „ $set ” operator de actualizare pentru a modifica valorile din „ db.collection.updateOne() ” metoda. Să încercăm să folosim un alt operator de actualizare „ $inc ” care crește câmpul cu suma specificată.

Aici, în interogarea furnizată mai jos, metoda caută documentul în care „ Nume „echivalează cu „ Kate ' și adaugă ' 1000 ' în ' Taxa de modelare ” valoarea câmpului:

db.Linuxhint_Col2.updateOne ( { „Nume_Model.Prenumele” : 'Kate' } , { $inc : { Taxa de modelare: 1000 } } )

Ieșire

Ieșirea a returnat un mesaj de succes.

Pentru a vedea modificările, utilizați „ găsi() ” metoda de a prelua documentul afectat:

db.Linuxhint_Col2.find ( { „Nume_Model.Prenumele” : 'Kate' } )

Ieșire

Ieșirea prezintă valoarea modificată a „ Taxa de modelare ”.

Exemplul 5: Adăugați un document nou dacă nu există deja folosind argumentul „upsert”
Argumentul opțional poate fi folosit pentru a schimba comportamentul acestei metode. O astfel de opțiune este „ supărat ” care adaugă un nou document dacă niciun document deja existent nu îndeplinește criteriile de selecție definite în interogare.

Să încercăm să adăugăm un nou document prin definirea criteriilor de selecție care nu îndeplinesc niciun document deja existent. După aceea, setați câteva câmpuri pentru el și adăugați opțiunea „ supărat ” ca „adevărat”, așa cum se arată în comanda furnizată mai jos:

db.Linuxhint_Col2.updateOne ( { „Nume_Model.Prenumele” : 'David' } , { $set : { Taxa de modelare: 10000 ,  Vârsta_modelului: 23 , „Nume_Model.Nume_Nume” : 'Smith' } } , { suparare: Adevărat } )

Ieșire

Ieșirea a arătat că mesajul confirmat este adevărat.

În cele din urmă, verificați modificarea acesteia rulând această comandă:

db.Linuxhint_Col2.find ( { „Nume_Model.Prenumele” : 'David' } )

Ieșire

Rezultatul a arătat că noul document a fost adăugat cu succes.

Concluzie

db.collection.updateOne() ” din MongoDB este folosită pentru a actualiza primul document care îndeplinește criteriile de selecție. Poate modifica un singur, precum și mai multe câmpuri dintr-un document utilizând operatorii de actualizare, cum ar fi „ $set ' și ' $inc ”. Mai mult, această metodă acceptă și argumente opționale pentru a schimba comportamentul metodei, cum ar fi „ supărat ” care adaugă un nou document în cazul în care criteriile de selecție nu se potrivesc cu niciun document existent. Această postare a discutat despre utilizarea „ db.collection.updateOne() ” în MongoDB.