Un tutoriel simple et clair sur le fonctionnement de Mongodb avec Python3

黄舟
Libérer: 2017-05-28 11:17:57
original
1267 Les gens l'ont consulté

Cet article présente principalement un tutoriel détaillé et facile à comprendre sur Python3 opérations Mongodb Il présente en détail comment se connecter à la base de données. et exploiter la base de données. Vous pouvez savoir si vous en avez besoin.

Connectez-vous à la base de données

Vous devez fournir une adresse et une interface pour vous connecter à la base de données. Vous devez d’abord encore importer le package.

from pymongo import MongoClient
conn = MongoClient('localhost',27017)
Copier après la connexion

Bien sûr, vous pouvez utiliser l'écriture suivante :

conn = MongoClient('mongodb://localhost:27017/')
Copier après la connexion

Créer une base de données

mongodb Il n'est pas nécessaire de créer une base de données à l'avance, mais utilisez-la directement. S'il s'avère qu'elle n'existe pas, elle sera créée automatiquement.

db = conn.testdb
Copier après la connexion

L'instruction ci-dessus créera une base de données testdb. Cependant, lorsqu'il n'y a pas de insertion de données, vous ne pouvez pas voir la base de données dans l'outil de gestion (non affichée).

Insérer des données

Tout d'abord, la première étape consiste à insérer une donnée et à y jeter un œil.

Insertion d'un seul enregistrement

from pymongo import MongoClient
conn = MongoClient('mongodb://localhost:27017/')
db = conn.testdb
db.col.insert({"name":'yanying','province':'江苏','age':25})
Copier après la connexion

Remarque : l'opération de connexion à la base de données sera ignorée dans les opérations suivantes et le code principal sera écrit directement. Veuillez le remplir. en vous-même.

Rien ne se passe dans la console python, c'est ce que signifie le succès. Utilisez l'outil de gestion pour afficher les enregistrements de la base de données et il contient une partie des données.

Insérer plusieurs enregistrements

Mongodb peut également insérer plusieurs éléments de données à la fois

db.col.insert([
 {"name":'yanying','province':'江苏','age':25},
 {"name":'张三','province':'浙江','age':24},
 {"name":'张三1','province':'浙江1','age':25},
 {"name":'张三2','province':'浙江2','age':26},
 {"name":'张三3','province':'浙江3','age':28},
])
Copier après la connexion

RequêteDonnées

Ensuite, nous interrogerons les données que nous venons d'insérer.

Requête unique

Nous pouvons utiliser find_one() pour interroger un enregistrement.

db.col.find_one()
Copier après la connexion

L'instruction ci-dessus peut interroger un enregistrement mongodb. Le _id supplémentaire dans l'enregistrement est une valeur unique générée automatiquement par Mongodb.

Copiez le code Le code est le suivant :

{'_id': ObjectId('5925351ad92fac3250b9ae3f'), 'name': 'yanying', 'province': '江苏', 'age': 25}
Copier après la connexion
Copier après la connexion

Nous insérerons quelques données pour les opérations suivantes. (Omettez des dizaines de milliers de mots)

Tout interroger

Si nous devons interroger tous les enregistrements, nous pouvons utiliser db.col.find ( ) mais ce qui est trouvé est un ensemble de ressources de résultat.

Nous pouvons utiliser for pour lister tous les enregistrements.

for item in db.col.find():
 print(item)
Copier après la connexion

De cette façon, vous pouvez obtenir tous les enregistrements.

{'_id': ObjectId('5925351ad92fac3250b9ae3f'), 'name': 'yanying', 'province': '江苏', 'age': 25}
{'_id': ObjectId('592550e5d92fac0b8c449f87'), 'name': 'zhangsan', 'province': '北京', 'age': 29}
{'_id': ObjectId('592550f6d92fac3548c20b1a'), 'name': 'lisi', 'province': '上海', 'age': 22}
{'_id': ObjectId('59255118d92fac43dcb1999a'), 'name': '王二麻', 'province': '广东', 'age': 30}
Copier après la connexion

Requête conditionnelle

Insérez simplement les conditions de requête en tant que paramètres pour filtrer les données.

for item in db.col.find({'name':"yanying"}):
 print(item)
Copier après la connexion

Résultats de la requête

Le code est le suivant :

{'_id': ObjectId('5925351ad92fac3250b9ae3f'), 'name': 'yanying', 'province': '江苏', 'age': 25}
Copier après la connexion
Copier après la connexion

Bien sûr, vous pouvez également interroger des enregistrements inférieurs à un certain valeur

for item in db.col.find({"age":{"$lt":25}}):
 print(item)
Copier après la connexion

ou enregistrements supérieurs à une certaine valeur

for item in db.col.find({"age":{"$gt":25}}):
 print(item)
Copier après la connexion

Requête statistique

Le code ci-dessus peut compter le nombre de tous les enregistrements

db.col.find().count() // 4
Copier après la connexion

Ou ajoutez quelques conditions

db.col.find({"age":{"$gt":25}}).count() //2
Copier après la connexion

Interroger les enregistrements basés sur _id

_id est automatiquement généré par mongodb L'identifiant est de type ObjectId Si vous souhaitez l'utiliser, vous devez convertir le type.

Cette méthode est fournie en python3, mais elle nécessite d'importer une bibliothèque.

from bson.objectid import ObjectId
Copier après la connexion

De cette façon, vous pouvez directement utiliser _id pour interroger.

collection.find_one({'_id':ObjectId('592550e5d92fac0b8c449f87')})
Copier après la connexion

Trier les résultats

Mettez simplement les champs qui doivent être triés dans la méthode sort par défaut de Mongodb. ordre croissant

db.col.find().sort("age")
Copier après la connexion

Mais vous pouvez également ajouter quelques paramètres pour modifier la méthode de tri. Par exemple, inversez l'ordre, mais n'oubliez pas d'importer d'abord la bibliothèque pymongo

import pymongo
db.col.find().sort("UserName",pymongo.DESCENDING)
Copier après la connexion

Vous pouvez également la faire par ordre croissant, bien que ce soit l'ordre par défaut

for item in db.col.find().sort('age',pymongo.ASCENDING):
 print(item)
Copier après la connexion

Mettre à jour les données

La mise à jour des données est très simple, vous n'avez besoin que d'une condition et des données qui doivent être mises à jour

Copiez le code Le code est le suivant :

db.col.update({'_id':ObjectId('59255118d92fac43dcb1999a')},{'$set':{'name':'王二麻33333'}})
Copier après la connexion

Le résultat est le suivant : Wang Erma devient Wang Erma 33333

Le code est le suivant :

{'_id': ObjectId('59255118d92fac43dcb1999a'), 'name': '王二麻33333', 'province': '广东', 'age': 30}
Copier après la connexion

Supprimer données

Pour supprimer des données, utilisez la méthode Remove(). Si la méthode a des conditions, supprimez les données de condition spécifiées, sinon supprimez toutes.

Supprimez l'utilisateur dont le nom est Wang Erma 33333.

db.col.remove({'name':'王二麻33333'})
Copier après la connexion

Supprimer toutes les données (à utiliser avec prudence)

db.col.remove()
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal