Aktualizacja MongoDB w Pythonie
Zaktualizuj kolekcję
Możesz zaktualizować rekord lub dokument tak, jak jest wywoływany w MongoDB, używając update_one()
metody.
Pierwszym parametrem update_one()
metody jest obiekt zapytania określający, który dokument ma zostać zaktualizowany.
Uwaga: Jeśli zapytanie znajdzie więcej niż jeden rekord, aktualizowane jest tylko pierwsze wystąpienie.
Drugi parametr to obiekt definiujący nowe wartości dokumentu.
Przykład
Zmień adres z „Valley 345” na „Canyon 123”:
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": "Valley 345" }
newvalues = { "$set": {
"address": "Canyon 123" } }
mycol.update_one(myquery, newvalues)
#print "customers" after the update:
for x in mycol.find():
print(x)
Zaktualizuj wiele
Aby zaktualizować wszystkie dokumenty spełniające kryteria zapytania, użyj update_many()
metody.
Przykład
Zaktualizuj wszystkie dokumenty, których adres zaczyna się na literę „S”:
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": { "$regex": "^S" } }
newvalues = { "$set": {
"name": "Minnie" } }
x = mycol.update_many(myquery, newvalues)
print(x.modified_count, "documents updated.")