MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。MongoDB 是目前最流行的 NoSQL 数据库之一,MongoDB使用了BSON(类似 JSON)这种结构来存储数据和网络数据交换。本文主要介绍Python MongoDB update。

1、更新集合

可以通过使用更新记录或在MongoDB中调用的文档 update_one()方法。

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" after the update:
for x in mycol.find():
print(x)

2、更新多个

要更新符合查询条件的所有文档,请使用update_many()方法。

例如:

更新address以字母“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.")

推荐文档