Maison  >  Article  >  développement back-end  >  Un tutoriel simple et clair sur le fonctionnement de Mongodb avec Python3

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

黄舟
黄舟original
2017-05-28 11:17:571224parcourir

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)

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

conn = MongoClient('mongodb://localhost:27017/')

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

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})

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},
])

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()

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}

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)

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}

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)

Résultats de la requête

Le code est le suivant :

{'_id': ObjectId('5925351ad92fac3250b9ae3f'), 'name': 'yanying', 'province': '江苏', 'age': 25}

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)

ou enregistrements supérieurs à une certaine valeur

for item in db.col.find({"age":{"$gt":25}}):
 print(item)

Requête statistique

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

db.col.find().count() // 4

Ou ajoutez quelques conditions

db.col.find({"age":{"$gt":25}}).count() //2

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

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

collection.find_one({'_id':ObjectId('592550e5d92fac0b8c449f87')})

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")

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)

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)

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'}})

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}

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'})

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

db.col.remove()

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!

Déclaration:
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