我正在为我的软件编写一个API,以便更容易访问mongodb。
我有这句台词:
def update(self, recid):
self.collection.find_and_modify(query={"recid":recid}, update={{ "$set": {"creation_date":str( datetime.now() ) }}} )
它抛出TypeError: Unhashable type: 'dict'
。
此函数仅用于查找recid与参数匹配的文档并更新其创建日期字段。
为什么会发生这个错误?
很简单,您已经添加了额外/多余的花括号,请尝试以下操作:
UPD(说明,假设您使用的是python>;=2.7):
出现此错误的原因是python认为您正在尝试使用
{}
符号创建一个集合:换句话说,集合的元素应该是散列的:例如
int
,string
。你要传递一个dict
给它,它是不可散列的,不能是集合的元素。另外,请参见以下示例:
希望能有所帮助。
相关问题 更多 >
编程相关推荐