我在使用pymongo使用python更新mongodb中的集合内的文档时遇到以下错误。非常感谢任何帮助。
x = 4
str = "ratings.${x}.rating"
db.amitava1.update({"_id":1},{"$inc":{[str]:1 } } )
追踪(最近一次呼叫最后一次):
文件"",第1行,在TypeError中:不可用类型: '列表' ***
答案 0 :(得分:2)
因为你正在做{"$inc":{[str]:1 }}
而得到了这个错误。即,尝试将[str]
作为字典{[str]:1 }
中的关键字。
它说因为你不能使用列表作为字典的键,因为列表是不可用的。您只能使用hashable类型(定义了__hash__
函数的类型)键值。
您的代码看起来还有其他一些问题。我认为你需要使用
str = "ratings.${x}.rating".format(x=x)
或某些东西,以便替换字符串中的x。