Opérations MongoDB CRUD avec Python(Pymongo)

PyMongo est une distribution Python qui contient des outils pour travailler avec MongoDB, donc dans cet article de blog, voyons quelques méthodes de base qui effectuent des opérations CRUD sur une collection. insert_one(), insert_many(), find_one(), find(), update(), delete(), ...

Je, me connecte et crée une base de données

import pymongo  
  
myclient = pymongo.MongoClient("mongodb://localhost:27017/")  
mydb = myclient["mydatabase"]  
mycol = mydb["mytable"]

II, créer, écrire

1, insérer()

peut être utilisé pour insérer 1 ou plusieurs enregistrements.

myclient = pymongo.MongoClient("mongodb://localhost:27017/")  
mydb = myclient["mydatabase"]  
mycol = mydb["users"]  
  
# insert single user  
mycol.insert({ "username": "aaa", "pass": "123456" })  
  
# insert many users  
mycol.insert([{ "username": "bbb", "pass": "123456" }, { "username": "ccc", "pass": "123456" }])

la méthode insert() renvoie

# insert single user  
ObjectId('5fbe1c17242098c02a7f4ecb')  
  
# insert many users  
[ObjectId('5fbe1c17242098c02a7f4ecb'), ObjectId('5fbe1c63fa9741631f6a1f6c')]

2, insert_one()

insère un seul enregistrement dans une BD

mycol.insert_one({ "username": "aaa", "pass": "123456" })

3, insert_many()

insère plusieurs enregistrements dans une collection

mycol.insert_many([  
    { "username": "aaa", "pass": "123456" },  
    { "username": "bbb", "pass": "123456" },  
    { "username": "ccc", "pass": "123456" }  
])

III, mise à jour

1, mise à jour()

myquery = { "username": "aaa" }  
newvalues = { "$set": { "username": "ddd" } }  
  
mycol.update(myquery, newvalues)

2, update_one()

myquery = { "username": "aaa" }  
newvalues = { "$set": { "username": "ddd" } }  
  
mycol.update_one(myquery, newvalues)

3, update_many()

myquery = { "username": "aaa" }  
newvalues = { "$set": { "username": "ddd" } }  
  
mycol.update_many(myquery, newvalues)

4, replace_one()

myquery = { "username": "aaa" }  
newvalues = { "username": "ddd" }  
  
mycol.replace_one(myquery, newvalues)

IV, Sélectionner des données, Lire, Rechercher, Rechercher, Trier

1, trouver()

renvoie tous les enregistrements

mycol.find()  
# return  
<pymongo.cursor.Cursor object at 0x7f8fc1878890>

2, find_one()

retourner le premier enregistrement

mycol.find_one()  
  
# return   
{'id': ObjectId('5fbe1c17242098c02a7f4ecb'), 'username': 'aaa',  'pass': '123456'}

3, filtre

myquery = { "username": "aaa" }   
mydoc = mycol.find(myquery)  
  
for x in mydoc:  
  print(x)

trouver tous les enregistrements dont le nom d'utilisateur commence par 'a'

myquery = { "username": { "$gt": "a" } }  
mydoc = mycol.find(myquery)  
  
for x in mydoc:  
  print(x)

4, Trier

ASC

mydoc = mycol.find().sort("username", 1)

DESC

mydoc = mycol.find().sort("username", -1)

5, limite

users = mycol.find().limit(5)

V, Supprimer

1, delete_one()

mycol.delete_one({ "username": "aaa" })

2, delete_many()

mycol.delete_many({ "username": "aaa" })