Operasi CRUD MongoDB dengan Python(Pymongo)

PyMongo ialah pengedaran Python yang mengandungi alat untuk bekerja dengan MongoDB, Jadi dalam catatan blog ini mari lihat beberapa kaedah asas yang melaksanakan operasi CRUD kepada koleksi. insert_one(), insert_many(), find_one(), find(), kemas kini(), delete(), ...

Saya, Sambung dan Cipta Pangkalan Data

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

II, Cipta, Tulis

1, masukkan()

boleh digunakan untuk memasukkan 1 atau lebih rekod.

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

kaedah insert() kembali

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

2, insert_one()

memasukkan satu rekod ke dalam DB

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

3, insert_many()

memasukkan berbilang rekod ke dalam koleksi

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

III, Kemas kini

1, kemas kini()

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, kemas kini_banyak()

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, Pilih data, Baca, Cari, Cari, Isih

1, cari()

mengembalikan semua rekod

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

2, find_one()

kembalikan rekod pertama

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

3, Penapis

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

cari semua rekod yang nama penggunanya bermula dengan 'a'

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

4, Isih

ASC

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

DESC

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

5, had

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

V, Padam

1, delete_one()

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

2, delete_many()

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