我在使用 python 使用 pymongo 更新 mongodb 集合内的文档时遇到以下错误。非常感谢任何帮助。
x = 4
str = "ratings.${x}.rating"
db.amitava1.update({"_id":1},{"$inc":{[str]:1 } } )
回溯(最近一次调用最后一次):
File "", line 1, in TypeError: unhashable type: 'list'***
最佳答案
您收到该错误是因为您正在执行 {"$inc":{[str]:1 }}
。即,尝试将 [str]
指定为字典 {[str]:1 }
中的键。
它说因为你不能使用列表作为字典的键,因为列表是不可散列的。您只能使用可散列类型(定义了 __hash__
函数的类型)键值。
不过,您的代码似乎还存在其他一些问题。我认为你需要使用
str = "ratings.${x}.rating".format(x=x)
或者其他东西来替换字符串中的x。
关于python - 使用 python(pymongo) 编辑 mongodb 中的嵌入文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35499460/