[英]How insert an object inside a document using Pymongo?
我正在使用Pymongo操作一个具有如下结构的集合女巫:
{
Client1:{
"_id" : "Client1"
Project1:{
Software1:{
language : "Python",
complexity : "Low"
}
Software2:{
language : "C#",
complexity : "Low"
}
Software3:{
language : "Java",
complexity : "Hard"
}
}
}
}
在这种情况下,我尝试了许多方法来更新文档Client1
插入新Software
,但我找不到方法或功能来执行此操作。
所以我的问题是:在此范围内,如何在不排除现有项目的情况下插入新Software
?
这是我尝试但没有奏效的方法:
client = "Client1"
client = collection.find_one({"_id": client})
project = "Project1"
software = str(raw_input("Enter with the software to be added to project: "))
language = str(raw_input("Enter with the software language: "))
complexity = str(raw_input("Enter with the software complexity: "))
collection.update({"_id" : client["_id"], }, {"$set" : {
client[project] : {software : {"language": language, "complexity" : complexity}}
}
})
我得到的错误是: unhashable type: 'dict'
包含client[project] : {software : {"language": language, "complexity" : complexity}}
的行中的unhashable type: 'dict'
client[project] : {software : {"language": language, "complexity" : complexity}}
从现在开始,感谢您的关注!
您正在尝试使用不可变的变量在dict中创建密钥。 在这种情况下, client[project]
是一个dict,你将其用作另一个dict中的键。 我想你只想让你的钥匙成为project
。
project : {software : {"language": language, "complexity" : complexity}}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.