python脚本中的mongodb数组更新
我需要通过python脚本更新mongo集合中数组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
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)