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