如何从pymongo中的数组更新嵌入式文档中的字段?

时间:2018-09-22 06:36:44

标签: mongodb pymongo

我正在使用pymongo进行编程。 我想从存储在MongoDB数据库中的数组中的嵌入式文档更新字段。我可以使用点(.)之类的

直接从mongo shell更新它

例如:

db.coll.update({},{"year.0.month":5})

但是,如果我在pymongo中使用相同的year.0.month,我将无法更新它,因为它给了我一个错误。

有人可以详细说明如何在pymongo中实现这一目标吗?

1 个答案:

答案 0 :(得分:0)

使用$set进行更新。例如

db.coll.update({},{ "$set": {"year.0.month":5}}))

从版本3 update()开始,所以要更新单个文档,请使用update_onefind_one_and_update()例如

db.coll.update_one({},{ "$set": {"year.0.month":5}})

db.coll.update_one_and_update({},{ "$set": {"year.0.month":5}})

要进行更新,许多文档使用update_many()例如

db.coll.update_many({},{ "$set": {"year.0.month":5}},multi=True)