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

Comment mettre à jour des documents existants dans MongoDB

MongoDB a été développé pour la première fois en 2007 par Dwight Merriman et Eliot Horowitz lorsqu'ils ont rencontré des problèmes d'évolutivité avec les bases de données relationnelles lors du développement d'applications Web d'entreprise dans leur entreprise, connue sous le nom de DoubleClick. Selon l'un des développeurs, son nom est dérivé du mot humongous pour soutenir l'idée de traiter une grande quantité de données.

La base de données est devenue un projet open-source en 2009 tandis que la société offrait des services de support commercial. De nombreuses entreprises ont adopté MongoDB en raison de ses fonctionnalités uniques. L'une de ces sociétés était le journal The New York Times, et ils ont utilisé cette base de données pour créer une application Web pour soumettre les photos. En 2013, DoubleClick a officiellement renommé MongoDB Inc.

Composants MongoDB

Les composants de base de MongoDB et leur utilisation incluent :

  • Collections – Leurs homologues RDBMS sont des tables. Il s'agit d'un ensemble de documents MongoDB
  • Document – Son homologue RDBMS est Row. Il s'agit d'une collection de données stockées au format BSON
  • Champ – Il s'agit d'un élément unique dans un document MongoDB qui contient des valeurs sous forme de champs et de paires de valeurs.

Stockage basé sur des documents

Un document est une structure de données avec des paires nom-valeur comme JSON, et il est facile de mapper n'importe quel objet personnalisé de n'importe quel langage de programmation avec un document MongoDB. Par exemple, un étudiant l'objet a des attributs tels que name, studentid, et sujets où les sujets sont une liste. Un document pour les étudiants dans MongoDB ressemblera à ceci :

{
Name: "Michael",
Studentid: 1
Subjects: ["Mathematics, English, Geography"]}

Vous remarquerez que les documents sont des représentations JSON d'objets personnalisés de la représentation ci-dessus. De plus, les JOINS excessifs sont évités en enregistrant les données sous la forme de tableaux et de documents (intégrés) à l'intérieur d'un document.

Mise à jour des documents dans MongoDB

MongoDB fournit une mise à jour () commande permettant de mettre à jour les documents d'une collection. Les paramètres de base de la commande sont une condition pour laquelle un document doit être mis à jour et la modification qui doit être effectuée. Un utilisateur peut ajouter des critères à l'instruction de mise à jour pour mettre à jour uniquement les documents sélectionnés. L'exemple ci-dessous montre comment se fait la mise à jour d'une seule valeur dans un document :

  • Entrez le updateOne commande.
  • Choisissez la condition à utiliser pour décider quel document est mis à jour. Par exemple, nous mettrons à jour un document avec l'auteur et l'article.
  • Utilisez l'ensemble pour modifier le nom du champ, choisissez le nom du champ que vous souhaitez modifier, puis saisissez la nouvelle valeur comme indiqué ci-dessous :
db.fossdb.updateOne(
{ item: "article" },
{
$set: { "foss": "fosslinux", author: "Abraham" },
$currentDate: { lastModified: true }
}
)

Sortie :

Remarque : assurez-vous de sélectionner la bonne base de données à l'aide de la commande "use". Par exemple, j'utilise « fossdb »; donc, pour choisir la bonne base de données, j'exécuterai la commande ci-dessous :

use fossdb

Sortie :

La sortie montrera qu'un enregistrement correspondait à la condition, et par conséquent la valeur du champ pertinent dans le document est modifiée.

Pour mettre à jour simultanément des documents en masse dans MongoDB, un utilisateur devra utiliser une multi-option puisque, par défaut, un seul document est modifié à la fois. Le code ci-dessous montre comment un utilisateur peut mettre à jour plusieurs documents en même temps :

  • Nous allons d'abord trouver le document dont l'auteur est "Abraham" et changer le nom de l'auteur de "Abraham" en "Masai". Nous publierons ensuite le updateMany commande.
  • Choisissez ensuite la condition pour décider quel document doit être modifié. Comme mentionné précédemment, nous utiliserons le document avec le nom "Auteur".
  • Choisissez les noms de champ que vous souhaitez mettre à jour, puis saisissez leurs nouvelles valeurs en conséquence.
db.fossdb.updateMany(
{ "articles": { $lt: 50 } },
{
$set: { "foss": "fosslinux", authors: "Masai" },
$currentDate: { lastModified: true }
}
)

Sortie :

Après avoir exécuté cette commande avec succès, la sortie indique qu'un enregistrement correspondait à la condition et, par conséquent, le champ concerné a été modifié.

Pourquoi les utilisateurs devraient opter pour MongoDB

Voici les raisons pour lesquelles les utilisateurs devraient commencer à utiliser MongoDB :

Orienté vers les documents

Étant donné que cette base de données est une base de données de type NoSQL, les données sont stockées dans des documents au lieu d'avoir des données dans un format de type relationnel. Cela rend cette base de données très flexible et adaptable aux situations et aux exigences du monde réel.

Requêtes ad hoc

La recherche par champ, les requêtes et les recherches d'expressions régulières sont prises en charge dans MongoDB; par conséquent, des requêtes peuvent être effectuées pour ramener des champs spécifiques dans les documents.

Indexation

Les index dans MongoDB sont créés pour améliorer les performances des recherches dans la base de données.

Équilibrage de charge

MongoDB utilise le sharding pour évoluer horizontalement en divisant les données sur plusieurs instances MongoDB.

Réplication

Cette base de données offre une haute disponibilité avec des jeux de répliques. Chaque jeu de réplicas se compose de deux instances MongoDB ou plus. Un membre du jeu de réplicas peut jouer le rôle du réplica principal ou secondaire à tout moment. Le réplica principal est le serveur central qui interagit avec le client et effectue toutes les opérations de lecture/écriture. En revanche, le réplica secondaire conserve une copie du réplica principal à l'aide des données de réplication intégrées.

Modélisation des données dans MongoDB

D'après la discussion ci-dessus, les données dans Mongo DB ont un schéma flexible. Les collections de MongoDB n'appliquent pas la structure du document, contrairement aux bases de données SQL, où un utilisateur doit déclarer le schéma d'une table avant d'insérer des données. Ce type de flexibilité est ce qui rend MongoDB si puissant.

Lors de la modélisation des données dans MongoDB, les utilisateurs doivent garder à l'esprit les éléments suivants :

  • Modèles de récupération des données – en cas d'utilisation intensive des requêtes, les utilisateurs doivent envisager d'utiliser des index dans leurs modèles de données pour améliorer l'efficacité des requêtes.
  • Besoins de l'application – un utilisateur doit examiner les besoins commerciaux de l'application et voir quelles données et quels types de données sont nécessaires pour l'application.
  • La base de données est-elle fréquemment modifiée ? - les utilisateurs devront reconsidérer l'utilisation des index ou incorporer le sharding si nécessaire dans leur conception de modélisation de données pour améliorer l'efficacité de leur environnement MongoDB global.

Conclusion

Cet article a donné une brève analyse de MongoDB, une base de données virale sur le marché aujourd'hui. De plus, il a expliqué comment mettre à jour les documents existants dans MongoDB. Nous espérons que cet article vous aidera à mieux comprendre MongoDB. En cas de problème, contactez-nous via la section des commentaires et nous vous répondrons immédiatement.