Operasi CRUD MongoDB dengan Python(Pymongo)

PyMongo adalah distribusi Python yang berisi alat untuk bekerja dengan MongoDB, Jadi dalam posting blog ini mari kita lihat beberapa metode dasar yang melakukan operasi CRUD ke sebuah koleksi. insert_one(), insert_many(), find_one(), find(), update(), delete(), ...

Saya, Hubungkan dan Buat Database

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

II, Buat, Tulis

1, masukkan()

dapat digunakan untuk menyisipkan 1 atau lebih record.

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

metode insert() kembali

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

2, sisipkan_satu()

menyisipkan satu record ke dalam DB

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

3, masukkan_banyak()

menyisipkan beberapa catatan ke dalam koleksi

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

III, Pembaruan

1, perbarui()

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

2, perbarui_satu()

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

3, perbarui_banyak()

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

4, ganti_satu()

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

IV, Pilih data, Baca, Temukan, Cari, Urutkan

1, temukan()

mengembalikan semua catatan

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

2, temukan_satu()

mengembalikan rekaman pertama

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

3, Saring

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

temukan semua catatan yang nama penggunanya dimulai dengan 'a'

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

4, Sortir

ASC

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

DES

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

5, batas

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

V, Hapus

1, hapus_satu()

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

2, hapus_banyak()

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