MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Quelle est la différence entre enregistrer et insérer dans Mongo DB ?

Enregistrer contre insérer :

Dans vos exemples donnés, le comportement est essentiellement le même.

save se comporte différemment s'il est passé avec un paramètre "_id".

Pour enregistrer, si le document contient _id , il upsert interrogeant la collection sur le _id champ, sinon, il sera inséré.

Si un document n'existe pas avec la valeur _id spécifiée, la méthode save() effectue une insertion avec les champs spécifiés dans le document.

Si un document existe avec la valeur _id spécifiée, la méthode save() effectue une mise à jour, en remplaçant tous les champs de l'enregistrement existant par les champs du document.

Enregistrer ou mettre à jour :

update modifie un document existant correspondant à vos paramètres de requête. S'il n'y a pas de document correspondant, c'est alors que upsert vient en image.

  • upsert : false  :Rien ne se passe lorsqu'aucun document de ce type n'existe
  • upsert : true  :Un nouveau document est créé avec un contenu égal aux paramètres de requête et aux paramètres de mise à jour

save :N'autorise aucun paramètre de requête. si _id existe et il existe un document correspondant avec le même _id , il le remplace. Lorsqu'aucun _id n'est spécifié/aucun document correspondant, il insère le document en tant que nouveau.