我正在尝试编写RESTful API Web服务。使用MongoDB,我收集了像这样的用户:
{
userId
name
passwd
listMovie: [
{
videoId
watchedTime
status
}
]
}
我创建了一个API网址,将新的电影项目添加到listMovie
数组中。示例代码:
movie = {
'videoId': 3,
'watchedTime': 155000,
'status': False
}
self.userCollection.update_one({
{'userId': user_id},
{
'$push': {
'listMovie': movie
}
}
})
但是此代码在第TypeError: unhashable type: 'dict'
行引发了错误'listMovie: movie'
。根据此链接pymongo api type-error,我知道dict
类型不可清除。那么我怎样才能达到目的呢?
我使用Python和PyMongo连接数据库
感谢您的帮助!
答案 0 :(得分:0)
尝试删除第一个花括号:
self.userCollection.update_one(
{'userId': user_id},
{'$push': {'listMovie': movie}},
)
update_one
前两个参数是filter
和update
这两个参数。在您的示例中,您添加了一些额外的花括号,这会导致Python实际构建set,因为设置了简写语法:
my_set = {1, 2} # set with elements 1 et 2