MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Errore tipo API Pymongo:dict non hashable

È semplice, hai aggiunto parentesi graffe extra/ridondanti, prova questo:

self.collection.find_and_modify(query={"recid":recid}, 
                                update={"$set": {"creation_date": str(datetime.now())}})

UPD (spiegazione, supponendo che tu sia su python>=2.7):

L'errore si verifica perché python pensa che tu stia tentando di creare un set con {} notazione:

In altre parole, gli elementi di un set dovrebbero essere hashable:ad es. int , string . E stai passando un dict ad esso, che non è hashable e non può essere un elemento di un set.

Inoltre, guarda questo esempio:

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

Spero di esserti stato d'aiuto.