MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Pymongo API TypeError:Unhashable dict


É simples, você adicionou chaves extra/redundantes, tente isto:
self.collection.find_and_modify(query={"recid":recid}, 
                                update={"$set": {"creation_date": str(datetime.now())}})

UPD (explicação, supondo que você esteja em python>=2.7):

O erro ocorre porque o python pensa que você está tentando fazer um conjunto com {} notação:

Em outras palavras, os elementos de um conjunto devem ser hashable:por exemplo, int , string . E você está passando um dict a ele, que não é hashable e não pode ser um elemento de um conjunto.

Veja também este exemplo:
>>> {{}}
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'dict'

Espero que ajude.