Qu'est-ce que db.collection.updateOne() dans MongoDB ?

Qu Est Ce Que Db Collection Updateone Dans Mongodb



MongoDB est une puissante base de données non relationnelle qui peut stocker plusieurs documents. Parfois, l'utilisateur peut avoir besoin de mettre à jour un seul document qui répond à certains critères. Dans cette situation, ils peuvent utiliser le ' db.collection.updateOne() », qui met à jour et modifie le premier document répondant aux critères de sélection et le modifie.

Qu'est-ce que la méthode 'db.collection.updateOne()' dans MongoDB ?

Le ' db.collection.updateOne() ” met à jour un seul document qui correspond aux critères définis. Si plusieurs documents correspondent aux critères, seul le premier document sera modifié. Il peut être utilisé avec les opérateurs de mise à jour, tels que ' $ ensemble ”, “ $inc ' et beaucoup plus .

Comment utiliser la méthode 'db.collection.updateOne()' dans MongoDB ?

Le ' db.collection.updateOne() ” peut être utilisée pour mettre à jour un seul champ ainsi que plusieurs champs d'un même document qui correspondent aux critères de sélection. De plus, cette méthode peut également ajouter un champ à un document et peut être utilisée avec des opérateurs de mise à jour. La syntaxe du ' db.collection.updateOne() ” méthode est fournie ci-dessous:







Syntaxe de base



db.collection.updateOne ( { critère_filtre } , { mise à jour } , { options } )

Ici dans la syntaxe ci-dessus :



  • Cette méthode mettra à jour le premier document qui répond aux critères de sélection
  • Le ' critère_filtre » définit les critères de la mise à jour
  • Le ' mise à jour ” contient les champs qui seront modifiés dans le document
  • Le ' options ” argument est un argument facultatif qui modifie le fonctionnement de cette méthode, tel que “ bouleverser ' et ' indice

Pour cet article, nous utiliserons un ' Linuxhint_Col2 ' documents de la collection pour démontrer le fonctionnement de la ' db.collection.updateOne() ' méthode. Pour afficher les documents stockés dans cette collection, exécutez la commande fournie :





db.Linuxhint_Col2.find ( )

Sortir

La sortie a récupéré tous les documents stockés dans le ' Linuxhint_Col2 ' collection.



Exemple 1 : mettre à jour un seul champ
Pour mettre à jour le champ unique d'un document, définissez ses critères de sélection et mettez à jour les critères. Les critères de mise à jour peuvent être définis à l'aide des opérateurs de mise à jour. Exécutons une requête pour mettre à jour le ' Modélisation_Frais ' champ à ' 18000 ' où le ' Nom de famille 'l'objet est égal à' Depp ' dans le document :

db.Linuxhint_Col2.updateOne ( { « Model_Name.Last_Name » : 'Depp' } , { $ ensemble : { Modélisation_Frais : 18000 } } )

Sortir

La sortie a renvoyé le message de réussite.

Pour vérifier les modifications apportées, récupérez le document concerné à l'aide de ce ' trouver() ' commande:

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

Sortir

La sortie a vérifié que le document a été mis à jour avec succès.

Exemple 2 : ajouter un nouveau champ à l'aide de la méthode « db.collection.updateOne() »
Le ' db.collection.updateOne() ” ajoute un nouveau champ en utilisant le “ $ ensemble ” dans le document s'il n'existe pas déjà. Comme le ' Expérience ” n'existe pas pour les documents où le “ Modélisation_Frais ' est inférieur à ' 9000 ”.

Ajoutons le nouveau champ ' Expérience ' avec la valeur ' Débutant » dans le document où le « Modélisation_Frais ' est inférieur à ' 9000 ' en utilisant cette requête :

db.Linuxhint_Col2.updateOne ( { 'Modélisation_Frais' : { $lt : 9000 } } , { $ ensemble : { 'Expérience' : 'Débutant' } } )

Sortir

La sortie renvoie le message qui indique qu'un document correspond aux critères de sélection et a été modifié avec succès.

Vérifions-le en récupérant tous les documents disponibles dans la collection » Linuxhint_Col2 ” :

db.Linuxhint_Col2.find ( )

Sortir

La sortie montre qu'un document remplissant la condition est modifié et qu'un nouveau champ est inséré avec succès.

Exemple 3 : Mettre à jour plusieurs champs d'un document à l'aide de la méthode 'db.collection.updateOne()'
L'utilisateur peut même modifier plusieurs champs dans un seul document. Ici, cette requête donnée ci-dessous modifiera le nom et l'âge du document où le ' Prénom ' équivaut à ' Noé “ :

db.Linuxhint_Col2.updateOne ( { « Model_Name.First_Name » : 'Noé' } , { $ ensemble : { « Model_Name.Last_Name » : 'Biche' , 'Modèle_Age' : 23 } } )

Sortir

La requête a été exécutée sans aucune erreur.

Pour vérifier les modifications, utilisez la méthode 'find ()' pour récupérer le document où le ' Prénom ' équivaut à ' Noé :

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

Sortir

La sortie a renvoyé le document modifié avec succès.

Exemple 4 : Utiliser la méthode 'db.collection.updateOne()' avec les opérateurs de mise à jour
Comme dans l'exemple précédent, nous avons utilisé le ' $ ensemble ' opérateur de mise à jour pour modifier les valeurs dans le ' db.collection.updateOne() ' méthode. Essayons d'utiliser un autre opérateur de mise à jour ' $inc ” qui incrémente le champ avec le montant spécifié.

Ici, dans la requête fournie ci-dessous, la méthode recherche le document où le ' Prénom ' équivaut à ' Kate » et ajoute « 1000 ' dans le ' Modélisation_Frais ” valeur du champ :

db.Linuxhint_Col2.updateOne ( { « Model_Name.First_Name » : 'Kate' } , { $inc : { Modélisation_Frais : 1000 } } )

Sortir

La sortie a renvoyé un message de réussite.

Pour voir les changements, utilisez le ' trouver() ” méthode pour récupérer le document concerné :

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

Sortir

La sortie affiche la valeur modifiée de ' Modélisation_Frais ”.

Exemple 5 : ajouter un nouveau document s'il n'existe pas déjà à l'aide de l'argument 'upsert'
L'argument facultatif peut être utilisé pour modifier le comportement de cette méthode. Une de ces options est ' bouleverser ” qui ajoute un nouveau document si aucun document déjà existant ne répond aux critères de sélection définis dans la requête.

Essayons d'ajouter un nouveau document en définissant des critères de sélection qui ne correspondent à aucun document déjà existant. Après cela, définissez des champs pour cela et ajoutez l'option ' bouleverser ” comme “true” comme indiqué dans la commande fournie ci-dessous :

db.Linuxhint_Col2.updateOne ( { « Model_Name.First_Name » : 'David' } , { $ ensemble : { Modélisation_Frais : 10000 ,  Modèle_Âge : 23 , « Model_Name.Last_Name » : 'Forgeron' } } , { insérer : vrai } )

Sortir

La sortie a montré que le message reconnu était vrai.

Enfin, vérifiez sa modification en exécutant cette commande :

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

Sortir

La sortie indique que le nouveau document a été ajouté avec succès.

Conclusion

Le ' db.collection.updateOne() ” méthode dans MongoDB est utilisée pour mettre à jour le premier document qui répond aux critères de sélection. Il peut modifier un seul ainsi que plusieurs champs dans un document en utilisant les opérateurs de mise à jour, tels que ' $ ensemble ' et ' $inc ”. De plus, cette méthode accepte également des arguments optionnels pour modifier le comportement de la méthode, tels que ' bouleverser ” qui ajoute un nouveau document au cas où les critères de sélection ne correspondent à aucun document existant. Ce message a discuté de l'utilisation du ' db.collection.updateOne() ” méthode dans MongoDB.