Què és db.collection.updateOne() a MongoDB?

Que Es Db Collection Updateone A Mongodb



MongoDB és una potent base de dades no relacional que pot emmagatzemar diversos documents. De vegades, és possible que l'usuari hagi d'actualitzar un únic document que compleixi determinats criteris. En aquesta situació, poden utilitzar el ' db.collection.updateOne() ”, que actualitza i modifica el primer document que compleix els criteris de selecció i el modifica.

Què és el mètode 'db.collection.updateOne()' a MongoDB?

El ' db.collection.updateOne() ” El mètode actualitza un únic document que coincideix amb els criteris definits. Si més d'un document coincideix amb els criteris, només es modificarà el primer document. Es pot utilitzar amb operadors d'actualització, com ara ' $conjunt ”, “ $inc ” i molts més .

Com utilitzar el mètode 'db.collection.updateOne()' a MongoDB?

El ' db.collection.updateOne() ” es pot utilitzar per actualitzar un sol camp així com diversos camps d'un sol document que coincideixin amb els criteris de selecció. A més, aquest mètode també pot afegir un camp a un document i es pot utilitzar amb operadors d'actualització. La sintaxi de la ' db.collection.updateOne() ” El mètode es proporciona a continuació:







Sintaxi bàsica



db.collection.updateOne ( { criteri_filtre } , { actualitzar } , { opcions } )

Aquí a la sintaxi anterior:



  • Aquest mètode actualitzarà el primer document que compleixi els criteris de selecció
  • El ' criteri_filtre ” defineix els criteris per a l'actualització
  • El ' actualitzar ” conté els camps que es modificaran al document
  • El ' opcions L'argument ' és un argument opcional que modifica el funcionament d'aquest mètode, com ara ' enfadat ' i ' pista

Per a aquesta publicació, utilitzarem un ' Linuxhint_Col2 documents de la col·lecció per demostrar el funcionament de la db.collection.updateOne() ” mètode. Per veure els documents emmagatzemats en aquesta col·lecció, executeu l'ordre proporcionada:





db.Linuxhint_Col2.find ( )

Sortida

La sortida va recuperar tots els documents emmagatzemats al ' Linuxhint_Col2 ' col · lecció.



Exemple 1: actualitzar un camp únic
Per actualitzar el camp únic d'un document, definiu-ne els criteris de selecció i actualitzeu els criteris. Els criteris d'actualització es poden definir mitjançant els operadors d'actualització. Fem una consulta per actualitzar el ' Taxa de modelatge 'camp a' 18000 ' ón el ' Cognom 'objecte és igual' Depp ” al document:

db.Linuxhint_Col2.updateOne ( { 'Nom_model.Cognoms' : 'Depp' } , { $conjunt : { Taxa de modelatge: 18000 } } )

Sortida

La sortida ha retornat el missatge d'èxit.

Per verificar els canvis realitzats, recupereu el document afectat mitjançant aquest ' trobar () ' comandament:

db.Linuxhint_Col2.find ( { 'Nom_model.Cognoms' : 'Depp' } )

Sortida

La sortida ha verificat que el document s'ha actualitzat correctament.

Exemple 2: Afegiu un camp nou amb el mètode 'db.collection.updateOne()'
El ' db.collection.updateOne() El mètode afegeix un camp nou utilitzant el ' $conjunt ” al document si encara no existeix. Com el ' Experiència El camp ' no existeix per als documents on el ' Taxa de modelatge ' és inferior a ' 9000 ”.

Afegim el nou camp ' Experiència 'amb el valor' Principiant ' en el document on el ' Taxa de modelatge ' és inferior a ' 9000 ” utilitzant aquesta consulta:

db.Linuxhint_Col2.updateOne ( { 'Tarifa de modelatge' : { $lt : 9000 } } , { $conjunt : { 'Experiència' : 'Principiant' } } )

Sortida

La sortida retorna el missatge que indica que un document coincideix amb els criteris de selecció i s'ha modificat correctament.

Comprovem-ho recuperant tots els documents disponibles a la col·lecció ' Linuxhint_Col2 ”:

db.Linuxhint_Col2.find ( )

Sortida

La sortida mostra que es modifica un document que compleix la condició i s'insereix un camp nou correctament.

Exemple 3: actualitzar diversos camps d'un document mitjançant el mètode 'db.collection.updateOne()'
L'usuari pot modificar diversos camps en un sol document fins i tot. Aquí, aquesta consulta que es mostra a continuació modificarà el cognom i l'edat del document on el ' Nom ' és igual ' Noah “:

db.Linuxhint_Col2.updateOne ( { 'Model_Name.First_Name' : 'Noé' } , { $conjunt : { 'Nom_model.Cognoms' : 'Doe' , 'Edat_model' : 23 } } )

Sortida

La consulta s'ha executat sense cap error.

Per verificar els canvis, utilitzeu el mètode 'find()' per recuperar el document on el ' Nom ' és igual ' Noah :

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

Sortida

La sortida ha retornat el document modificat correctament.

Exemple 4: utilitzeu el mètode 'db.collection.updateOne()' amb operadors d'actualització
Com en l'exemple anterior, hem utilitzat el ' $conjunt 'actualitza l'operador per modificar els valors a l'' db.collection.updateOne() ” mètode. Intentem utilitzar un altre operador d'actualització ' $inc ” que augmenta el camp amb la quantitat especificada.

Aquí, a la consulta que es proporciona a continuació, el mètode cerca el document on el ' Nom ' és igual ' Kate ' i afegeix ' 1000 ' a la ' Taxa de modelatge ” valor del camp:

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

Sortida

La sortida ha retornat un missatge d'èxit.

Per veure els canvis, utilitzeu ' trobar () ” mètode per recuperar el document afectat:

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

Sortida

La sortida mostra el valor modificat de ' Taxa de modelatge ”.

Exemple 5: afegiu un document nou si ja no existeix utilitzant l'argument 'upsert'
L'argument opcional es pot utilitzar per canviar el comportament d'aquest mètode. Una d'aquestes opcions és ' enfadat ” que afegeix un nou document si cap document ja existent compleix els criteris de selecció definits a la consulta.

Intentem afegir un nou document definint els criteris de selecció que no compleixen cap document ja existent. Després d'això, configureu-hi alguns camps i afegiu l'opció ' enfadat ” com a “true” tal com es mostra a l'ordre que es proporciona a continuació:

db.Linuxhint_Col2.updateOne ( { 'Model_Name.First_Name' : 'David' } , { $conjunt : { Taxa de modelatge: 10000 ,  Model_Edat: 23 , 'Nom_model.Cognoms' : 'Smith' } } , { upsert: veritat } )

Sortida

La sortida mostrava el missatge reconegut com a cert.

Finalment, verifiqueu la seva modificació executant aquesta comanda:

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

Sortida

La sortida mostra que el nou document s'ha afegit correctament.

Conclusió

El ' db.collection.updateOne() ” a MongoDB s'utilitza per actualitzar el primer document que compleix els criteris de selecció. Pot modificar un sol i diversos camps d'un document mitjançant els operadors d'actualització, com ara ' $conjunt ' i ' $inc ”. A més, aquest mètode també accepta arguments opcionals per canviar el comportament del mètode, com ara ' enfadat ” que afegeix un nou document per si els criteris de selecció no coincideixen amb cap document existent. Aquesta publicació ha parlat de l'ús del ' db.collection.updateOne() ” mètode a MongoDB.