Insertion de document MongoDB en Python
- Page précédente Créer une collection MongoDB
- Page suivante Trouver MongoDB
Les documents MongoDB sont similaires aux enregistrements des bases de données SQL.
Insérer dans la collection
Pour insérer un enregistrement ou un document appelé dans une collection MongoDB, nous utilisons insert_one()
Méthode.
insert_one()
Le premier paramètre de la méthode est un dictionnaire contenant chaque nom de champ et valeur que l'on souhaite insérer dans le document.
Exemple
Insérer un enregistrement dans la collection "customers" :
import pymongo client = pymongo.MongoClient("mongodb://localhost:27017/") maingbase = client["monbase"], maillage = maingbase["clients"], mydict = { "name": "Bill", "address": "Highway 37" } x = mycol.insert_one(mydict)
Retourne le champ _id
insert_one()
La méthode retourne un objet InsertOneResult, qui possède les attributs inserted_id
, pour sauvegarder l'ID du document inséré.
Exemple
Insérer un autre enregistrement dans la collection "customers" et retourner la valeur du champ _id :
mydict = { "name": "Peter", "address": "Lowstreet 27" } x = mycol.insert_one(mydict) print(x.inserted_id)
Si vous n'avez pas spécifié _id
n'a pas été spécifié, alors MongoDB vous ajoutera un et attribuera un ID unique à chaque document.
Dans cet exemple, le champ _id
Les champs, par conséquent MongoDB attribue un _id unique aux enregistrements (documents).
Insérer plusieurs documents
Pour insérer plusieurs documents dans une collection MongoDB, nous utilisons insert_many()
Méthode.
insert_many()
Le premier paramètre de la méthode est une liste contenant des dictionnaires à insérer des données :
Exemple
import pymongo client = pymongo.MongoClient("mongodb://localhost:27017/") maingbase = client["monbase"], maillage = maingbase["clients"], mailliste = [ { "name": "Amy", "address": "Apple st 652"}, { "name": "Hannah", "address": "Mountain 21"}, { "name": "Michael", "address": "Valley 345"}, { "name": "Sandy", "address": "Ocean blvd 2"}, { "name": "Betty", "address": "Green Grass 1"}, { "name": "Richard", "address": "Sky st 331"}, { "name": "Susan", "address": "One way 98"}, { "name": "Vicky", "address": "Yellow Garden 2"}, { "name": "Ben", "address": "Park Lane 38"}, { "name": "William", "address": "Central st 954"}, { "name": "Chuck", "address": "Main Road 989"}, { "name": "Viola", "address": "Sideway 1633"} ] x = mycol.insert_many(mylist) # Afficher la liste des valeurs _id des documents insérés : print(x.inserted_ids)
insert_many()
La méthode retourne un objet InsertManyResult, qui possède les attributs inserted_ids
utilisé pour enregistrer l'id des documents insérés.
Insertion de plusieurs documents avec un ID spécifié
Si vous ne souhaitez pas que MongoDB assigne un id unique à vos documents, vous pouvez spécifier le champ _id lors de l'insertion du document.
Rappelez-vous que les valeurs doivent être uniques. Deux fichiers ne peuvent pas avoir le même _id.
Exemple
import pymongo client = pymongo.MongoClient("mongodb://localhost:27017/") maingbase = client["monbase"], maillage = maingbase["clients"], mailliste = [ { "_id": 1, "name": "John", "address": "Highway 37"}, { "_id": 2, "name": "Peter", "address": "Lowstreet 27"}, { "_id": 3, "name": "Amy", "address": "Apple st 652"}, { "_id": 4, "name": "Hannah", "address": "Mountain 21"}, { "_id": 5, "name": "Michael", "address": "Valley 345"}, { "_id": 6, "name": "Sandy", "address": "Ocean blvd 2"}, { "_id": 7, "name": "Betty", "address": "Green Grass 1"}, {"_id": 8, "name": "Richard", "address": "Sky st 331"} {"_id": 9, "name": "Susan", "address": "One way 98"}, {"_id": 10, "name": "Vicky", "address": "Yellow Garden 2"}, {"_id": 11, "name": "Ben", "address": "Park Lane 38"}, {"_id": 12, "name": "William", "address": "Central st 954"}, {"_id": 13, "name": "Chuck", "address": "Main Road 989"}, {"_id": 14, "name": "Viola", "address": "Sideway 1633"} ] x = mycol.insert_many(mylist) # Afficher la liste des valeurs _id des documents insérés : print(x.inserted_ids)
- Page précédente Créer une collection MongoDB
- Page suivante Trouver MongoDB