【发布时间】:2021-04-16 03:15:39
【问题描述】:
我正在使用 python 代码更新与查询匹配的数组中的多个元素。这是我的文档结构:
doc: {
"userId":327238,
"assessmentId":115513,
"institutionId":1632,
"subjects":[
{"Id":238,"Included":false,"Rank":1},
{"Id":239,"Included":true,"Rank":4},
{"Id":240,"Included":false,"Rank":1},
{"Id":241,"Included":true,"Rank":10}
]
}
我想仅为具有“包含”的数组元素设置“排名”:0:假。我已经尝试了下面的代码,但它为所有数组元素设置了 'Rank':0。
query = {"assessmentId":115513, "institutionId":1632, "subjects":{"$elemMatch":{"Included":false}}}
update = {"$set":{"subjects.$[].Rank":0}}
db.test.update_many(query, update)
任何帮助将不胜感激。谢谢
【问题讨论】:
标签: python arrays mongodb pymongo