python - 使用 python(pymongo) 编辑 mongodb 中的嵌入文档

标签 python mongodb

我在使用 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/

相关文章:

python - Python中使用正则表达式进行批量替换

ruby-on-rails - Ruby map/collect 在大型 Mongoid 集合上运行缓慢

mongodb - Mongo 使用 26GB 内存,这很糟糕吗?

python - web3.py中sendTransaction和sendRawTransaction的区别

python - 更改多个表单大小 Django Bootstrap

Java-Python AES加密解密

javascript - XMLHttpRequest 无法向 Flask 服务器发出请求

MongoDB 查找与聚合性能

python - 使用 pymongo 在 mongodb 中按 ObjectId 搜索

node.js - `repository.create` 去除既是数组又是嵌入对象的列的值