MongoDB CRUD operacijos su Python (Pymongo)

„PyMongo“ yra „Python“ paskirstymas, kuriame yra įrankių, skirtų darbui su „MongoDB“, todėl šiame tinklaraščio įraše apžvelgsime keletą pagrindinių metodų, kurie atlieka rinkinio CRUD operacija. įterpti_vienas(), įterpti_daug(), rasti_vieną(), rasti(), atnaujinti(), tęsti(), ...

Aš, Prisijunkite ir sukurkite duomenų bazę

import pymongo

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

II, kurkite, surašyk

1, įterpti ()

gali būti naudojamas įterpti 1 ar daugiau įrašų.

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

Metodas insert() grąžina

# insert single user
ObjectId('5fbe1c17242098c02a7f4ecb')

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

2, įterpti_vienas ()

įterpia vieną įrašą į DB

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

3, įterpti_daug()

į kolekciją įterpia kelis įrašus

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

III, atnaujinimas

1, atnaujinimas ()

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_daug ()

myquery = { "username": "aaa" }
newvalues = { "$set": { "username": "ddd" } }

mycol.update_many(myquery, newvalues)

4, pakeisti_vienas ()

myquery = { "username": "aaa" }
newvalues = { "username": "ddd" }

mycol.replace_one(myquery, newvalues)

IV, pasirinkti duomenis, skaityti, rasti, ieškoti, rūšiuoti

1, rasti ()

grąžina visus įrašus

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

2, rasti_one()

grąžinti įrašą

mycol.find_one()

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

3, filtrai

myquery = { "username": "aaa" } 
mydoc = mycol.find(myquery)

for x in mydoc:
  print(x)

rasti visus įrašus, kurių vartotojo vardas prasideda raide „a“

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

for x in mydoc:
  print(x)

4, Rūšiuoti

ASC

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

DESC

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

5, riba

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

V, gerai

1, delete_one()

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

2, siunt_daug()

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