Collections 更新pymongo中集合列表项中的值

Collections 更新pymongo中集合列表项中的值,collections,pymongo,Collections,Pymongo,我是pymongo的初学者,我有一个存储用户和评论列表的用户集合 用户的实例如下 user = {"Name":"Bill" , "Comments":["nice" , "bad"]} 我想要的是访问“bad”项,并在我的评论列表中将其更改为“good”,但我是初学者,我在pymongo语法方面有问题。 此命令用于更新,但我不知道如何访问特定列表项 users.update_one({'key': 'value'}, {'$set': {'key': 'different value'}})

我是pymongo的初学者,我有一个存储用户和评论列表的用户集合 用户的实例如下

user = {"Name":"Bill" , "Comments":["nice" , "bad"]}
我想要的是访问“bad”项,并在我的评论列表中将其更改为“good”,但我是初学者,我在pymongo语法方面有问题。 此命令用于更新,但我不知道如何访问特定列表项

users.update_one({'key': 'value'}, {'$set': {'key': 'different value'}})
谢谢你的帮助。提前谢谢

您可以使用。这将只更新与查询条件匹配的第一个元素

db.collection.update\u one(
{'name':'Bill','ratings':'bad'},
{'$set':
{评级。$:'good'}
}
)
如果要将所有出现的
“bad”
更新为
“good”
,则应使用

db.collection.update\u one(
{'name':'Bill'},
{'$set':
{'ratings.$[elem]':'good'}
},
数组_过滤器=[{'elem':'bad'}]
)