Python MongoDB обновление

Обновление集合

Вы можете использовать update_one() Метод для обновления записей или документов в MongoDB.

update_one() Первый параметр метода — объект запроса, который используется для определения документа, подлежащего обновлению.

Комментарий:Если запрос находит несколько записей, то обновляется только первый соответствующий элемент.

Второй параметр — это объект, определяющий новые значения документа.

Пример

Изменить адрес "Valley 345" на "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" после обновления:
for x in mycol.find():
  print(x)

Запуск примера

Обновление нескольких

Для обновления всех документов, соответствующих условиям запроса, используйте update_many() Метод.

Пример

Обновление всех документов, адрес которых начинается на букву "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, "документы обновлены.")

Запуск примера