Python Mongodb Обновление документа

Python Mongodb Python Mongodb

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

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

Тестовые данные, используемые в этой статье, приведены ниже (нажмите на изображение, чтобы просмотреть увеличенную версию):

Следующий пример изменяет значение поля alexa с 10000 на 12345:

Пример

import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["exampledb"] mycol = mydb["sites"] myquery = { "alexa": "10000" } newvalues = { "$set": { "alexa": "12345" } } mycol.update_one(myquery, newvalues) # Вывести измененную коллекцию "sites" for x in mycol.find(): print(x)

После выполнения выводится результат:

update_one()Этот метод может изменить только первую подходящую запись. Чтобы изменить все подходящие записи, можно использоватьupdate_many()。

В следующем примере будут найдены всеFначинающиеся сnameполя, и для всех совпавших записей полеalexaизменяется на123:

Пример

import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["exampledb"] mycol = mydb["sites"] myquery = { "name": { "$regex": "^F" } } newvalues = { "$set": { "alexa": "123" } } x = mycol.update_many(myquery, newvalues) print(x.modified_count, "Документ был изменён")

Результат вывода:

1 文档已修改

Проверьте, были ли данные изменены:

Python Mongodb Python Mongodb

Другие расширения