python脚本中的mongodb数组更新

python脚本中的mongodb数组更新,python,mongodb,updates,Python,Mongodb,Updates,我需要通过python脚本更新mongo集合中数组jobs中的值 例如,以下内容在mongo控制台中可以很好地工作,但在python中如何做到这一点 posts.update({'_id':213},{'$set':{"jobs.1.title":1}}, false, true) 还有一点很有趣,我想通过使用$可以更改数组中的所有值。以下内容在控制台或脚本中都不起作用 posts.update({'_id':213},{'$set':{"jobs.$.title":1}}, false, t

我需要通过python脚本更新mongo集合中数组
jobs
中的值

例如,以下内容在mongo控制台中可以很好地工作,但在python中如何做到这一点

posts.update({'_id':213},{'$set':{"jobs.1.title":1}}, false, true)
还有一点很有趣,我想通过使用
$
可以更改数组中的所有值。以下内容在控制台或脚本中都不起作用

posts.update({'_id':213},{'$set':{"jobs.$.title":1}}, false, true)

问题是如何在python脚本中执行上述更新。

在python的pymongo中非常类似:

当然,您还需要连接到数据库并将
posts
设置为该集合

不会像您所想的那样充当通配符;它标识文档中与查询匹配的第一个数组元素。我认为没有办法更新所有这样的数组元素。

您可以使用python与MongoDB交互

关于更新数组中所有值的$operator,这不是应该如何使用它。请检查一下电话号码

数组字段必须作为查询选择器的一部分出现

MongoDB问题跟踪程序中有一个关于此主题的问题


解决方法是读取文档,在程序端更改数组值并进行更新

您是否使用pymongo与mongodb合作?
posts.update({'_id':213}, {'$set':{"jobs.1.title":1}}, upsert=False, multi=True)