Λειτουργίες MongoDB CRUD με Python(Pymongo)

Το PyMongo είναι μια διανομή Python που περιέχει εργαλεία για εργασία με MongoDB, οπότε σε αυτήν την ανάρτηση ιστολογίου ας δούμε μερικές βασικές μεθόδους που εκτελούν λειτουργίες CRUD σε μια συλλογή. insert_one(), insert_many(), find_one(), find(), update(), delete(), ...

I, Connect and Create Database

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

II, Δημιουργία, Γράψτε

1, insert()

μπορεί να χρησιμοποιηθεί για την εισαγωγή 1 ή περισσότερων εγγραφών.

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

επιστρέφει η μέθοδος insert().

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

2, insert_one()

εισάγει μία μόνο εγγραφή σε ένα DB

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

3, insert_many()

εισάγει πολλαπλές εγγραφές σε μια συλλογή

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

III, Ενημέρωση

1, ενημέρωση()

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, Επιλογή δεδομένων, Ανάγνωση, Εύρεση, Αναζήτηση, Ταξινόμηση

1, find()

επιστρέφει όλες τις εγγραφές

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

2, find_one()

επιστροφή πρώτου δίσκου

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

3, Φίλτρο

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

βρείτε όλες τις εγγραφές των οποίων το όνομα χρήστη αρχίζει με 'a'

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

4, Ταξινόμηση

ASC

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

DESC

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

5, όριο

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

V, Διαγραφή

1, delete_one()

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

2, delete_many()

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