python - python脚本中的mongodb数组更新

标签 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, true)

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

最佳答案

与 Python 的 pymongo update 非常相似:

posts.update({'_id':213}, {'$set':{"jobs.1.title":1}}, upsert=False, multi=True)

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

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

关于python - python脚本中的mongodb数组更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13891551/

相关文章:

python - 通过 python SMTP 库发送邮件时,从 gmail header 中隐藏我的 IP 地址?

python - 计算 DataFrame 的百分比

json - 将 json 文件插入 mongodb 并指定要用作 _id 的键

ios - 将 cordova 项目从 3.3 更新到 4.x

java - 如何使用java api更新elasticsearch中的嵌套字段值

python - 学习 Python 3.0 还是 2.x?

python - 在时间戳表上旋转的 Pandas 返回意外结果

java - mongodb连接超时

c# - 如何为 MongoDB 关闭 UTC 时区

amazon-web-services - 如何实现重新烘焙 AMI 的一致性