本文概述
- Update_many()
- Python3
- python
Update_many() 在更高版本的MongoDB(3.xx及更高版本)中不建议使用更新功能。可以使用" multi = true"将早期更新功能用于单个更新和多个更新。但是在较新版本的mongoDB中, 建议使用update_many()和update_one()。
主要区别在于, 如果查询要更新单个或多个文档, 则用户需要提前计划。
语法如下:
db.collection.updateMany(
<
filter>
, <
update>
, {
upsert: <
boolean>
, writeConcern: <
document>
, collation: <
document>
, arrayFilters: [ <
filterdocument1>
, ... ], hint:<
document|string>
}
)
更新MongoDB中的运算符
设定值:
- $set:用于设置字段值。
- $setOnInsert:仅在插入新文档时更新值。
- $unset:删除该字段及其值。
- $inc:将值增加给定值。
- $min/$max:返回最小值或最大值。
- $mul:将值乘以给定的数量。
- $currentDate:将字段的值更新为当前日期。
- $rename:重命名字段
文章图片
我们将在本文中看到一些用例, 其中更新许多记录可能很有用:
- 根据条件更改或递增几个元素。
- 在多个或所有文档中插入一个新字段。
Python3
from pymongo import MongoClient# Creating an instance of MongoClient
# on default localhost
client = MongoClient( 'mongodb://localhost:27017' )# Accessing desired database and collection
db = client.gfg
collection = db[ "classroom" ]# Update passed field to be true for all
# students with marks greater than 35
collection.update_many(
{ "marks" : { "$gt" : "35" } }, {
"$set" : { "passed" : "True" }
}
)
查询后的数据库:
文章图片
范例2:新的称为地址的字段已添加到所有文档
python
from pymongo import MongoClient# Creating an instance of MongoClient
# on default localhost
client = MongoClient( 'mongodb://localhost:27017' )# Accessing desired database and collection
db = client.gfg
collection = db[ "classroom" ]# Address filed to be added to all documents
collection.update_many(
{}, { "$set" :
{
"Address" : "value"
}
}, # don't insert if no document found
upsert = False , array_filters = None
)
数据库查询后:
文章图片
首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。
推荐阅读
- 算法(给定一个单词序列,使用STL打印所有的字谜)
- 算法题(如何计算两个数组中的最大求和路径())
- Linux中如何使用userdel命令(用法示例)
- 电子邮件组成和传输协议介绍
- Java中如何实现用户定义的自定义异常()
- PHP如何使用Ds\Deque Capacity()函数(示例)
- 如何使用CSS使div height扩展其内容()
- 专家支招 检查与处理电脑ARP欺骗的办法
- 如何添加个性化的ie多技巧按钮