Convertir des bases de données relationnelles et SQL en MongoDB

Table des matières
Chaque base de données dans MongoDB se compose de collections équivalentes à un SGBDR ou à une base de données relationnelle composée de tables SQL. Chaque base de données stocke les données collectées sous forme de documents, ce qui équivaut à des tables qui stockent les données en lignes.
Alors qu'il stocke les données de ligne dans l'ensemble de colonnes, un document a une structure JSON (appelée BSON dans MongoDB). Enfin, la façon dont nous avons des lignes dans une ligne SQL, qui a des champs dans MongoDB.

Équivalents entre les requêtes SQL et les requêtes Mondodb
supposons que la base de données mysql précédente, nous verrons comment mapper et convertir les requêtes
Créer une table ou une collection
Dans MongoDB, il n'est pas nécessaire de créer explicitement la structure de collection, comme nous le faisons pour les tables avec une requête CREATE TABLE. La structure du document est créée automatiquement lors de la première insertion dans la collection. Cependant, vous pouvez créer une collection vide à l'aide de la commande createCollection.
Mysql
CREATE TABLE `customers` (` id` int (11) NOT NULL AUTO_INCREMENT, `name` varchar (255) NOT NULL,` city` varchar (20) NOT NULL, PRIMARY KEY (`id`))
MongoDB
db.createCollection ("clients")
Pour ajouter des enregistrements de données
MYSQL
INSÉRER DANS `clients` (` id`, `nom`,` ville`) VALEURS (NULL, 'Fernan', 'Barcelone');
MongoDB
db.clientes.insert ({nom : "Fernan", ville : Barcelone "})
Afficher tous les enregistrements
Mysql
SELECT * FROM `clients`
MongoDB
db.clients.find ()
Rechercher un client par son nom
Mysql
SELECT * FROM `clients` WHERE` nom` = 'Fernan'
MongoDB
db.clientes.find ({nom : "Fernan"})
Maintenant, nous allons ajouter plus de critères pour récupérer le client par nom et par ville. Les champs de critères spécifiés à l'aide de virgules représentent la condition logique ET. Par conséquent, cette déclaration recherchera les documents qui répondent aux deux critères.
Mysql
SELECT * `FROM` clients` WHERE `nom` = 'Fernan' AND` ville` = 'Barcelone'
MongoDB
db.clientes.find ({nom : "Fernan", ville : "Barcelone"})
Afficher tous les enregistrements de la table des clients triés par ordre croissant par nom
Mysql
SELECT * FROM `clients` ***** par nom ASC
MongoDB
db.clientes.find().sort ({nom : 1})
Pour limiter le nombre de documents à retourner, la méthode limit de spécifier le nombre de documents est utilisée.
Mysql
SELECT * FROM 'clients' LIMIT 10
MongoDB
db.clients.find().limit (10)
Pour sauter un certain nombre d'enregistrements, la fonction de saut de MongoDB est utilisée. Par exemple, l'instruction suivante limite 10 enregistrements et ignore les cinq premiers.
Mysql
SELECT * FROM `messages` LIMITE 10 DECALAGE 5
MongoDB
db.clients.find ().limit (10) .skip (5)
Pour la méthode de mise à jour, les critères de sélection des documents sont précisés. Le premier paramètre sert à identifier l'enregistrement, le deuxième paramètre spécifie l'opération de mise à jour réelle à effectuer. Par exemple, la requête suivante sélectionne tous les documents nommés Carlos et définit leur ville comme Madrid.
Une différence ici est que, par défaut, la requête de mise à jour MongoDB ne met à jour qu'un seul enregistrement et la première correspondance dans le document. Pour mettre à jour tous les documents correspondants, nous devons proposer un troisième paramètre qui spécifie multiple comme vrai indiquant que nous voulons mettre à jour plusieurs documents.
Mysql
UPDATE clients SET ville = "Madrid" WHERE nom = 'Carlos'
MongoDB
Mettre à jour toutes les correspondances
db.clientes.update ({nom : "Carlos"}, {$ set : {ville : "Madrid"}}, {multi : true})
Mettre à jour le premier enregistrement correspondant
db.clientes.update ({nom : "Carlos"}, {$ set : {ville : "Madrid"}})Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave