Обновление Python MongoDB
Коллекция обновлений
Вы можете обновить запись или документ, как это называется в MongoDB, с помощью update_one()
метода.
Первый параметр update_one()
метода — это объект запроса, определяющий, какой документ нужно обновить.
Примечание. Если запрос находит более одной записи, обновляется только первое вхождение.
Второй параметр — это объект, определяющий новые значения документа.
Пример
Измените адрес с «Долина 345» на «Каньон 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)
Обновить многие
Чтобы обновить все документы, соответствующие критериям запроса, используйте update_many()
метод.
Пример
Обновите все документы, где адрес начинается с буквы «С»:
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.")