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