Cos'è db.collection.updateOne() in MongoDB?

Cos E Db Collection Updateone In Mongodb



MongoDB è un potente database non relazionale in grado di archiviare più documenti. A volte, l'utente potrebbe dover aggiornare un singolo documento che soddisfa determinati criteri. In questa situazione, possono utilizzare il ' db.collection.updateOne() ”, che aggiorna e modifica il primo documento che soddisfa i criteri di selezione e lo modifica.

Qual è il metodo 'db.collection.updateOne ()' in MongoDB?

IL ' db.collection.updateOne() Il metodo ” aggiorna un singolo documento che corrisponde ai criteri definiti. Se più di un documento corrisponde ai criteri verrà modificato solo il primo documento. Può essere utilizzato con operatori di aggiornamento, come ' $set ”, “ $inc ' E molti altri .

Come utilizzare il metodo 'db.collection.updateOne ()' in MongoDB?

IL ' db.collection.updateOne() Il metodo ” può essere utilizzato per aggiornare un singolo campo così come più campi di un singolo documento che corrispondono ai criteri di selezione. Inoltre, questo metodo può anche aggiungere un campo a un documento e può essere utilizzato con gli operatori di aggiornamento. La sintassi del ' db.collection.updateOne() Il metodo è fornito di seguito:







Sintassi di base



db.collection.updateOne ( { filtro_criteri } , { aggiornamento } , { opzioni } )

Qui nella sintassi precedente:



  • Questo metodo aggiornerà il primo documento che soddisfa i criteri di selezione
  • IL ' filtro_criteri ” definisce i criteri per l'aggiornamento
  • IL ' aggiornamento ” contiene i campi che verranno modificati nel documento
  • IL ' opzioni ” argomento è un argomento facoltativo che modifica il funzionamento di questo metodo, ad esempio “ upsert ' E ' suggerimento '

Per questo post, useremo un ' Linuxhint_Col2 ” documenti della collezione per dimostrare il funzionamento del “ db.collection.updateOne() ' metodo. Per visualizzare i documenti archiviati in questa raccolta eseguire il comando fornito:





db.Linuxhint_Col2.find ( )

Produzione

L'output ha recuperato tutti i documenti archiviati nella cartella ' Linuxhint_Col2 ' collezione.



Esempio 1: aggiornare un singolo campo
Per aggiornare il singolo campo in un documento, definirne i criteri di selezione e aggiornare i criteri. I criteri di aggiornamento possono essere definiti utilizzando gli operatori di aggiornamento. Eseguiamo una query per aggiornare il ' Modellazione_Fee ' campo a ' 18000 ' dove il ' Cognome ” oggetto uguale “ Depp ' nel documento:

db.Linuxhint_Col2.updateOne ( { 'Nome_modello.Cognome' : 'Deppo' } , { $set : { Modellazione_Commissione: 18000 } } )

Produzione

L'output ha restituito il messaggio di successo.

Per verificare le modifiche apportate, recuperare il documento interessato utilizzando questo ' Trovare() comando:

db.Linuxhint_Col2.find ( { 'Nome_modello.Cognome' : 'Deppo' } )

Produzione

L'output ha verificato che il documento è stato aggiornato correttamente.

Esempio 2: aggiungere un nuovo campo utilizzando il metodo 'db.collection.updateOne()'.
IL ' db.collection.updateOne() Il metodo 'aggiunge un nuovo campo utilizzando il metodo' $set ” operatore nel documento se non esiste già. Come il ' Esperienza ” il campo non esiste per i documenti dove il “ Modellazione_Fee ' è meno di ' 9000 ”.

Aggiungiamo il nuovo campo ' Esperienza ” con il valore “ Principiante ” nel documento dove il “ Modellazione_Fee ' è meno di ' 9000 ” utilizzando questa query:

db.Linuxhint_Col2.updateOne ( { 'Corrispettivo_Modellazione' : { $ lt : 9000 } } , { $set : { 'Esperienza' : 'Principiante' } } )

Produzione

L'output restituisce il messaggio che indica che un documento corrisponde ai criteri di selezione ed è stato modificato con successo.

Verifichiamolo recuperando tutti i documenti disponibili nella collezione” Linuxhint_Col2 ”:

db.Linuxhint_Col2.find ( )

Produzione

L'output mostra che un documento che soddisfa la condizione è stato modificato e un nuovo campo è stato inserito correttamente.

Esempio 3: aggiornare più campi di un documento utilizzando il metodo 'db.collection.updateOne()'.
L'utente può anche modificare più campi in un singolo documento. Qui questa query fornita di seguito modificherà il cognome e l'età per il documento in cui il ' Nome di battesimo ' equivale ' Noè “:

db.Linuxhint_Col2.updateOne ( { 'Nome_Modello.Nome_Nome' : 'Noè' } , { $set : { 'Nome_modello.Cognome' : 'Dai' , 'Modello_età' : 23 } } )

Produzione

La query è stata eseguita senza alcun errore.

Per verificare le modifiche, utilizzare il metodo 'find()' per recuperare il documento in cui il ' Nome di battesimo ' equivale ' Noè :

db.Linuxhint_Col2.find ( { 'Nome_Modello.Nome_Nome' : 'Noè' } )

Produzione

L'output ha restituito correttamente il documento modificato.

Esempio 4: utilizzare il metodo 'db.collection.updateOne()' con gli operatori di aggiornamento
Come nell'esempio precedente, abbiamo utilizzato il ' $set ” operatore di aggiornamento per modificare i valori nel “ db.collection.updateOne() ' metodo. Proviamo a utilizzare un altro operatore di aggiornamento ' $inc ” che incrementa il campo con l'importo specificato.

Qui nella query fornita di seguito, il metodo cerca il documento in cui il ' Nome di battesimo ' equivale ' Kate ” e aggiunge “ 1000 ' nel ' Modellazione_Fee ” valore del campo:

db.Linuxhint_Col2.updateOne ( { 'Nome_Modello.Nome_Nome' : 'Kate' } , { $inc : { Modellazione_Commissione: 1000 } } )

Produzione

L'output ha restituito un messaggio di successo.

Per vedere le modifiche, utilizzare il ' Trovare() ” metodo per recuperare il documento interessato:

db.Linuxhint_Col2.find ( { 'Nome_Modello.Nome_Nome' : 'Kate' } )

Produzione

L'output rappresenta il valore modificato di ' Modellazione_Fee ”.

Esempio 5: aggiungere un nuovo documento se non esiste già utilizzando l'argomento 'upsert'.
L'argomento facoltativo può essere utilizzato per modificare il comportamento di questo metodo. Una di queste opzioni è ' upsert ” che aggiunge un nuovo documento se nessun documento già esistente soddisfa i criteri di selezione definiti nella query.

Proviamo ad aggiungere un nuovo documento definendo i criteri di selezione che non soddisfano documenti già esistenti. Successivamente, imposta alcuni campi per esso e aggiungi l'opzione ' upsert ” come “true” come mostrato nel comando fornito di seguito:

db.Linuxhint_Col2.updateOne ( { 'Nome_Modello.Nome_Nome' : 'Davide' } , { $set : { Modellazione_Commissione: 10000 ,  Model_Age: 23 , 'Nome_modello.Cognome' : 'Fabbro' } } , { upsert: VERO } )

Produzione

L'output mostrava il messaggio riconosciuto come vero.

Infine, verifica la sua modifica eseguendo questo comando:

db.Linuxhint_Col2.find ( { 'Nome_Modello.Nome_Nome' : 'Davide' } )

Produzione

L'output ha mostrato che il nuovo documento è stato aggiunto correttamente.

Conclusione

IL ' db.collection.updateOne() Il metodo ” in MongoDB viene utilizzato per aggiornare il primo documento che soddisfa i criteri di selezione. Può modificare uno o più campi in un documento utilizzando gli operatori di aggiornamento, come ' $set ' E ' $inc ”. Inoltre, questo metodo accetta anche argomenti facoltativi per modificare il comportamento del metodo, come ' upsert ” che aggiunge un nuovo documento nel caso in cui i criteri di selezione non corrispondano a nessun documento esistente. Questo post ha discusso l'uso del ' db.collection.updateOne() ” metodo in MongoDB.