PyMongo Tutoriel
Démarrer avec PyMongo
Recherche…
Remarques
Cette section fournit une vue d'ensemble de ce qu'est pymongo et pourquoi un développeur peut vouloir l'utiliser.
Il devrait également mentionner tous les grands sujets au sein de pymongo, et établir un lien avec les sujets connexes. La documentation de pymongo étant nouvelle, vous devrez peut-être créer des versions initiales de ces rubriques connexes.
Installation ou configuration
Instructions détaillées sur la mise en place ou l'installation de pymongo.
Installation avec Pip
Pour installer pymongo pour la première fois:
pip install pymongo
Installer une version spécifique de pymongo:
Où XXX est la version à installer
pip install pymongo==XXX
Mise à niveau du pymongo existant:
pip install --upgrade pymongo
Installation avec easy_install
Pour installer pymongo pour la première fois:
python -m easy_install pymongo
Mise à niveau du pymongo existant:
python -m easy_install -U pymongo
Bonjour le monde
PyMongo est un pilote Python natif pour MongoDB.
Installer PyMongo
pip install pymongo
Créer une connexion
Utilisez MongoClient pour créer une connexion. MongoClient utilise par défaut l'instance MongoDB s'exécutant sur localhost:27017
si elle n'est pas spécifiée.
from pymongo import MongoClient
client = MongoClient()
Accéder aux objets de base de données
La classe Database de PyMongo représente la construction de base de données dans MongoDB. Les bases de données contiennent des groupes de collections liées de manière logique.
db = client.mydb
Accéder aux objets de collection
La classe Collection de PyMongo représente la construction de collection dans MongoDB. Les collections contiennent des groupes de documents connexes.
col = db.mycollection
MongoDB crée implicitement de nouvelles bases de données et collections lors de la première utilisation.
Fonctionnement de base du CRUD
MongoDB stocke les enregistrements de données sous forme de documents BSON . BSON est la représentation binaire de JSON.
$ python
>>> from pymongo import MongoClient
>>> client = MongoClient()
>>> col = client.mydb.test
Créer
Insérer un seul document insert_one(document)
>>> result = col.insert_one({'x':1})
>>> result.inserted_id
ObjectId('583c16b9dc32d44b6e93cd9b')
Insérer plusieurs documents insert_many(documents)
>>> result = col.insert_many([{'x': 2}, {'x': 3}])
>>> result.inserted_ids
[ObjectId('583c17e7dc32d44b6e93cd9c'), ObjectId('583c17e7dc32d44b6e93cd9d')]
Remplacez un seul document correspondant au filtre replace_one(filter, replacement, upsert=False)
. (pour insérer un nouveau document si le document correspondant n'existe pas, utilisez upsert=True
)
>>> result = col.replace_one({'x': 1}, {'y': 1})
>>> result.matched_count
1
>>> result.modified_count
1
Mettre à jour
Mettre à jour un seul document correspondant au filtre update_one(filter, update, upsert=False)
>>> result = col.update_one({'x': 1}, {'x': 3})
Mettre à jour un ou plusieurs documents correspondant au filtre update_many(filter, update, upsert=False)
>>> result = col.update_many({'x': 1}, {'x': 3})
Lis
Interroger la base de données find(filter=None, projection=None, skip=0, limit=0, no_cursor_timeout=False)
. L'argument de filtre est un document prototype auquel tous les résultats doivent correspondre.
>>> result = col.find({'x': 1})
Obtenir un document unique à partir de la base de données find_one(filter=None)
>>> result = col.find_one()
Interroger avec projection
query={'x':1}
projection={'_id':0, 'x':1} # show x but not show _id
result=col.find(query,projection)
Effacer
Supprimer un seul document correspondant au filtre delete_one(filter)
>>> result = col.delete_one({'x': 1})
>>> result.deleted_count
1
Supprimer un ou plusieurs documents correspondant au filtre delete_many(filter)
>>> result = col.delete_many({'x': 1})
>>> result.deleted_count
3
PyMongo fournit également la fonctionnalité find_one_and_delete()
, find_one_and_update()
et find_one_and_replace()
.