Adam:
Cet article décrira et étudiera l'application de base de mongodb côté client et l'intégration de mongodb dans spring-boot pour compléter l'ajout, la suppression, la modification et la requête de données de base.
Portail:
Documentation MongoDB - Concepts de base - Un seul blog Cheng - Blog CSDN
Mettez l'article officiel en premier
Opération MongoDB CRUD - MongoDB-CN-Manual
Cet article est divisé en :
Utiliser les instructions MongoDB dans le client (fenêtre dos)/visualiseur
Intégrez mongodb dans spring-boot et complétez l'ajout, la suppression, la modification et la requête de données
Fonctionner à l'aide d'instructions mongodb dans les fenêtres et les outils de visualisation
Comment MongoDB crée des bases de données et des collections | Communauté chinoise MongoDB
Opération MongoDB CRUD - MongoDB-CN-Manual
Créez une nouvelle requête pour démontrer l'effet :
Comment mongodb crée-t-il des bases de données et des collections
La première étape de l'apprentissage des bases de données doit être de créer des bases de données et des collections. Les bases de données sont utilisées pour stocker toutes les collections et les collections sont utilisées pour stocker tous les documents. Ces documents contiendront les valeurs "FieldName" et "Field" pertinentes à la fois.
En même temps, une chose que nous devons savoir, c'est que les documents peuvent aussi exister dans des documents. L'analogie avec la classe entity en java est beaucoup plus facile à comprendre. Les attributs d'une classe peuvent également être d'autres classes d'entités.
Voici un exemple de document :
{
“Employeeid”:1,
“EmployeeName”:“Smith”
}
冒号前面是field names
后面就是 field values
Créer une base de données à l'aide de la commande Utiliser
Utilisez la commande use pour créer une nouvelle base de données :
use ExampleDB
L'ExempleDB dans ce code est le fichier de base de données nouvellement créé.
Ce code d'utilisation mongodb peut être comparé à mysql :
IF NOT EXISTS
(SELECT * FROM sys.databases WHERE name = 'ExampleDB')
CREATE DATABASE ExampleDB;
Le sql de cet exemple est un effet lorsqu'il est exécuté dans mysql.
Explication du code :
1. Utilisez la commande use pour créer une base de données dans mongodb. Si la base de données n'existe pas, une nouvelle base de données sera créée.
2. Utilisez également la base de données si elle existe.
Vous pouvez voir que l'exécution a réussi. Une fois l'instruction use exécutée avec succès, mongodb basculera automatiquement vers la base de données créée.
Utilisez insert() pour créer une collection/table
La façon la plus simple de créer une collection est d'insérer un enregistrement (rien d'autre qu'un document avec des noms de champs et des valeurs) dans la collection. Si la collection n'existe pas, une nouvelle collection sera créée.
use ExampleDB
db.ExampleDB.insert
(
{
"员工编号":1,
"员工姓名":"阿丹"
}
)
Expliquez la syntaxe :
db : est un objet représentant une connexion à une base de données. Avant d'utiliser ce langage, une connexion à la base de données doit être établie. pour accéder à la base de données en code.
ExampleDB : le nom de la collection sur laquelle opérer. S'il n'y a pas une telle collection, cette collection sera créée.
{
"员工编号":1,
"员工姓名":"阿丹"
}
ci-dessus est un document
"Numéro d'employé": est un nom de champ
"La valeur du matricule": c'est la valeur
Avis:
S'il n'y a pas de données dans cette bibliothèque dans mongodb, l'utilisation d'une telle instruction d'insertion créera une nouvelle bibliothèque comme celle-ci
Ce n'est pas parfait lorsque vous utilisez l'instruction ci-dessus pour insérer. Parce que cela entraînera l'ajout de notre nouveau document à une collection portant le même nom que la bibliothèque. Sois prudent.
insérer un tableau dans mongodb en utilisant insert()
Essayez de transmettre plusieurs documents plusieurs fois à la fois sous la forme d'un tableau.
Étapes d'achèvement pensées :
1. Créez une variable javascript nommée Example array pour contenir le tableau du document
2. Ajoutez la valeur avec le nom du champ et le document requis à la variable
3. Utilisez la commande insert pour insérer un tableau de documents dans la collection
#定义数组
var Example = [
{
"员工编号":2,
"员工姓名":"帅丹"
},
{
"员工编号":3,
"员工姓名":"大力丹"
},
{
"员工编号":4,
"员工姓名":"快乐丹"
}
]
#将定义的数据添加到ExampleDB集合中
db.ExampleDB.insert(Example)
C'est ainsi que l'ajout de lots est effectué dans MongoDB. Vous pouvez maintenant voir que trois éléments de données ont été ajoutés avec succès. Cela fait trois documents.
Utilisez l'instruction de requête et spécifiez pour imprimer au format JSON
Le format le plus couramment utilisé dans le format de document utilisé précédemment est la forme de json. C'est encore plus parce que si nous obtenons une chaîne sous la forme de json. Nous pouvons facilement convertir cette chaîne json dans notre classe d'entité.
Le nom complet du format json est le format JavaScript Ojbect Notation (très convivial pour ceux d'entre nous qui tapent java), c'est un format qui stocke régulièrement des informations et qui est facile à lire.
Utilisons ensuite l'instruction pour compléter l'exemple d'impression de json :
db.查询使用的集合.find().forEach(printjson)
Exécutez et essayez :
Méthode de code et explication des paramètres :
db.ExampleDB.find()
: cette instruction utilisefind()
la méthode pour interroger tous les documents de la base de données ExampleDB.find()
La méthode renvoie un objet curseur qui contient tous les documents répondant aux critères de la requête.forEach
: Cette méthode est utilisée pour parcourir chaque document dans le curseur et effectuer l'opération spécifiée sur chaque document.printjson
: Cette fonction permet d'imprimer le document vers la console au format JSON
Parmi eux, find() trouvera tous par défaut si rien n'est écrit entre parenthèses.
Comment définir l'ID de la clé primaire ?
En analysant la valeur de retour qui nous est donnée par MongoDB tout à l'heure, nous pouvons voir que le numéro d'employé est utilisé comme identifiant de clé primaire dans la logique métier. Mais trouvé que mongodb lui-même générait un champ de chaîne irrégulier. "_identifiant". Maintenant, nous devons définir ce "_id" comme identifiant de clé primaire.
Dans MongoDB, le champ _id est la clé primaire d'une collection afin que chaque document puisse être identifié de manière unique au sein de la collection. Le champ _id contient une valeur ObjectID unique.
Par défaut, lors de l'insertion d'un document dans une collection, si vous n'ajoutez pas de nom de champ avec _id dans le nom du champ, MongoDB ajoutera automatiquement un champ Object id
Donc le principe est que tant qu'on a ce champ nommé "_id" quand on l'ajoute, on peut terminer le remplacement de la clé primaire. L'identifiant généré par le système n'est plus utilisé.
Essayons-le :
Utilisez le code :
db.ExampleDB.insert
(
{
"_id":1,
"员工姓名":"代码阿丹"
}
)
J'ai spécifié le nom du champ dans ce document : "_id"
Cela montre que l'ajout a réussi. Utilisez la sortie de la requête dans la section précédente pour vérifier si l'identifiant du code Adan est 1. Remplacez l'identifiant généré par le système lui-même.
On peut voir que le remplacement de la règle de l'ID de clé primaire est terminé.
Expliquez que nous pouvons utiliser l'affectation au nom de champ "_id" comme clé primaire de la collection.
Utilisez l'instruction de requête find() dans mongodb pour interroger les documents mongodb
Grâce à l'exécution d'instructions de requête conditionnelles, nous pouvons obtenir des données plus précises de mongodb. et les données combinées. Plus les données obtenues à partir de l'arrière-plan sont précises, moins d'efforts seront nécessaires pour le développement ultérieur.
Ensuite, MongoDB fournit une fonction appelée db.collection.find(), qui est utilisée pour récupérer des documents de la base de données MongoDB.
Opérations de requête de base :
Les opérations de requête de base incluent des opérations simples telles que la récupération de tous les documents dans une collection MongoDB.
Parce que nous avons créé une nouvelle collection ExampleDB dans notre opération précédente. Nous pouvons donc exécuter la commande suivante.
db.ExampleDB.find({})
Analyse des consignes :
db.ExampleDB.find({})
Cette instruction MongoDB trouve tous les documents dans la base de données ExampleDB.
find()
La méthode est la méthode utilisée pour interroger les documents dans MongoDB, elle accepte une condition de requête en tant que paramètre et renvoie tous les documents qui remplissent la condition. Dans cet exemple, la condition de requête est un objet vide {}
, indiquant qu'il n'y a pas de contraintes, donc tous les documents de la base de données seront renvoyés.
{}
Ce symbole représente une condition de requête vide, et d'autres conditions peuvent également être utilisées pour limiter les résultats de la requête. Par exemple, vous pouvez utiliser { "员工姓名": "阿丹" }
quelque chose comme ça pour rechercher des documents où le nom de l'employé est "Adan", ou quelque chose comme ça { "员工编号": { $gt: 100 } }
pour trouver des documents où le numéro d'employé est supérieur à 100.
Par conséquent, db.ExampleDB.find({})
la fonction de cette instruction est de renvoyer tous les documents de la base de données ExampleDB, ce {}
qui signifie qu'il n'y a aucune restriction et que tous les documents seront renvoyés.
requête conditionnelle
Effacer la requête conditionnelle
Par exemple, je veux interroger l'employé dont le numéro d'employé est 1. Ci-dessous un exemple :
#查询员工编号为1的员工
db.ExampleDB.find({"员工编号":1}).forEach(printjson)
Cette instruction utilise {} et des crochets, et utilise la forme de json entre crochets pour spécifier les règles d'interrogation du numéro d'employé spécifié.
requête de plage
Avec une condition de recherche supérieure à, il recherche en fait les documents qui sont supérieurs à la valeur spécifiée.
Par exemple, je veux interroger des documents avec des numéros d'employés supérieurs à 2. Voici un exemple :
#查询员工编号大于2的员工
db.ExampleDB.find({"员工编号":{$gt : 2}}).forEach(printjson)
expliquer:
$gt sélectionne l'opérateur pour la requête, ce qui signifie utiliser l'expression du signe supérieur à.
Vous fournir les expressions de jugement pertinentes ;
$lt
: moins que$eq
:égal$ne
:pas égal à$gt
: supérieur ou égal à$lt
: inférieur ou égal à
Tutoriel sur le curseur MongoDB : Apprendre par l'exemple
Lors de la recherche de documents dans une collection à l'aide de la fonction db.collection.find(), le résultat renvoie un pointeur vers la collection de documents, appelé curseur. Similaire aux pointeurs.
Par défaut, les curseurs itèrent automatiquement au fur et à mesure que les résultats de la requête sont renvoyés. Bien entendu il est possible d'afficher explicitement un par un les répertoires de résultats renvoyés dans le curseur.
Par exemple, s'il y a trois documents dans la collection, le curseur est initialisé pour pointer vers le premier document, puis tous les documents de la collection sont parcourus.
Exemple de code :
#演示游标
var myExampleDB = db.ExampleDB.find({});
while(myExampleDB.hasNext()){
print(tojson(myExampleDB.next()))
}
Explication du code :
Ce que fait ce code est de trouver tous les documents dans la base de données ExampleDB et d'imprimer chaque document sur la console au format JSON.
Tout d'abord, db.ExampleDB.find({})
tous les documents de la base de données ExampleDB sont interrogés via la méthode et un objet curseur est renvoyé myExampleDB
.
Ensuite, utilisez while
une boucle pour parcourir chaque document dans le curseur jusqu'à ce que les documents dans le curseur aient été parcourus. Dans le corps de la boucle, utilisez tojson()
une fonction pour convertir chaque document au format JSON et print()
une fonction pour imprimer le JSON sur la console.
Dans l'ensemble, ce que fait ce code est d'interroger tous les documents de la base de données ExampleDB et d'imprimer chaque document sur la console au format JSON
Résultat de la requête de limite MongoDB
Ce modificateur est utilisé pour limiter le nombre de documents renvoyés dans le jeu de résultats de la requête. Ci-dessous un exemple.
#limit结果
db.ExampleDB.find().limit(2).forEach(printjson)
La syntaxe et l'utilisation sont similaires mais pas les mêmes que dans mysql. Le nombre de paramètres dans cette fonction permettra de découvrir quelques documents.
Trier dans MongoDB
Dans MongoDB, il est pris en charge de formuler l'ordre des documents à renvoyer selon l'ordre croissant ou décroissant de n'importe quelle clé de la collection.
Exemple de code :
#根据员工编号倒序排序
db.ExampleDB.find().sort({ 员工编号: -1}).forEach(printjson)
Ici, il montre clairement les documents renvoyés par ordre décroissant par Employeeid.
Une valeur de 1 est dans l'ordre croissant.
Fonction de comptage Count() dans MongoDB
Le concept d'agrégation consiste à effectuer des calculs sur les résultats renvoyés dans une requête. Par exemple, supposons que nous voulions savoir combien de documents se trouvent dans la collection en fonction de la requête déclenchée, alors MongoDB fournit la fonction count().
Permet d'interroger le nombre de documents.
Prenons un exemple.
#查看集合中文档数量
db.ExampleDB.count()
Voici quelques utilisations de la fonction count()
Dans MongoDB, count()
les fonctions sont utilisées pour compter le nombre de documents dans une collection qui répondent aux critères spécifiés. count()
La fonction prend une condition de requête comme argument et renvoie le nombre de documents qui remplissent la condition.
Voici quelques count()
exemples d'utilisation de fonctions :
Comptez le nombre de tous les documents d'une collection :
db.myCollection.count({})
Comptez le nombre de documents dans une collection pour une condition spécifiée :
db.myCollection.count({ "key": "value" })
Utilisez match
l'opérateur de pipeline pour compter le nombre de documents d'une collection qui correspondent à une condition :
db.myCollection.aggregate([
{ $match: { "key": "value" } },
{ $count: "count" }
])
Utilisez match
l'opérateur de pipeline et group
pour compter le nombre de documents après le regroupement :
db.myCollection.aggregate([
{ $match: { "key": "value" } },
{ $group: { _id: "groupKey", count: { $sum: 1 } } }
])
Dans l'exemple ci-dessus, count()
les fonctions sont utilisées pour compter le nombre de tous les documents de la collection, compter le nombre de documents remplissant certaines conditions et utiliser les opérateurs de pipeline match
et group
pour compter le nombre de documents groupés.
Supprimer le fichier remove() dans MongoDB
Dans MongoDB, la méthode db.collection.remove() est utilisée pour supprimer un document d'une collection. Tous les documents peuvent être supprimés d'une collection, ou seulement ceux qui répondent à certains critères.
Si seule la commande de suppression est émise, tous les documents seront supprimés de la collection.
L'exemple de code suivant montre comment supprimer un document spécifique d'une collection.
#删除员工标号为4的文档
db.ExampleDB.remove({员工编号:4})
Vous pouvez voir la syntaxe pour supprimer le nom et la valeur du champ correspondant.
Mettre à jour les documents MongoDB à l'aide de Update()
MongoDB fournit la commande update() pour mettre à jour les documents d'une collection. Pour mettre à jour uniquement les documents à mettre à jour, une condition peut être ajoutée à la déclaration de mise à jour afin que les documents sélectionnés soient mis à jour.
Les paramètres de base de cette commande sont les conditions dans lesquelles le document doit être mis à jour, suivies de la modification qui doit être effectuée.
Idée d'opération :
- émettre une commande de mise à jour ;
- Sélectionnez les critères à utiliser pour déterminer quels documents doivent être mis à jour. Dans notre cas, nous voulons mettre à jour le document avec l'ID d'employé 22 ;
- Utilisez la commande set pour modifier le nom du champ ;
- Sélectionnez le nom du champ à modifier et entrez la nouvelle valeur en conséquence.
#修改员工标号为1的名字
db.ExampleDB.update(
{"员工编号":1},
{
$set:{
"员工姓名":"库库帅阿丹"
}
}
)
Il montre qu'un enregistrement remplit les conditions, et un enregistrement modifie les champs concernés ! ! !
Voici quelques utilisations de mise à jour
Ce code consiste à utiliser la fonction de MongoDB update()
pour mettre à jour la valeur du champ "Employee Name" dans le document dont la valeur du champ est 1 nommé "Employee Number" à "Kuku Shuai Adan".
Plus précisément, update()
la fonction accepte deux paramètres :
- Critères de requête précisant les documents à mettre à jour. Dans cet exemple, la condition de la requête est
{"员工编号":1}
de mettre à jour le document dont le champ "numéro d'employé" vaut 1. - Opération de mise à jour, indiquez l'opération de mise à jour à effectuer sur le document. Dans cet exemple, l'opération de mise à jour
{ $set: { "员工姓名": "库库帅阿丹" } }
consiste à mettre à jour la valeur du champ "Nom de l'employé" sur "Kuku Shuai Adan".
Parmi eux, l'opération de mise à jour peut utiliser les opérateurs suivants :
$set
: définissez la valeur du champ spécifié.$unset
: Supprimer le champ spécifié.$rename
: Renommer le champ spécifié.$inc
: Incrémente la valeur du champ spécifié.
En plus de l'exemple ci-dessus, update()
la fonction peut également prendre d'autres paramètres pour contrôler le comportement de mise à jour, tels que multi
des paramètres (spécifiant s'il faut mettre à jour plusieurs documents) et upsert
des paramètres (spécifiant s'il faut insérer de nouveaux documents).
En bref, update()
la fonction est une fonction utilisée pour mettre à jour des documents dans MongoDB, qui peut facilement modifier les documents dans la base de données.