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