如何更新匹配查询的所有行?

2024-05-20 01:33:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用以下代码:

for loop:
   col.update(
                {"name" : "abc", "mvr_code" : mvr_code)},
                {'$set': { "reaction": reaction}}
                )

我的数据库如下所示:

{name:'abc', mvr_code:1}
{name:'abc', mvr_code:1}
{name:'abc', mvr_code:2}
{name:'abc', mvr_code:2}

运行代码后,我得到以下结果:

{name:'abc', mvr_code:1, reaction:'r1'}
{name:'abc', mvr_code:1}
{name:'abc', mvr_code:2, reaction:'r2'}
{name:'abc', mvr_code:2}

我如何使它适用于所有案例,而不仅仅是第一个案例


1条回答
网友
1楼 · 发布于 2024-05-20 01:33:13

您可以将multi: true添加到查询中。 根据documentationmulti参数是一个布尔值,如果设置为true,将更新满足查询条件的多个文档。如果设置为false,则更新一个文档。默认值为false

可以按以下方式重新执行查询:

db.test1.update({name : "abc", mvr_code : 1},{$set: { "reacttion":1}}, multi:true)

如果有帮助,请告诉我

相关问题 更多 >