MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Pymongo API TypeError:Unhashable dict

Es ist ganz einfach, Sie haben zusätzliche/überflüssige geschweifte Klammern hinzugefügt, versuchen Sie Folgendes:

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

UPD (Erklärung, vorausgesetzt, Sie verwenden Python>=2.7):

Der Fehler tritt auf, weil Python denkt, dass Sie versuchen, einen Satz mit {} zu erstellen Schreibweise:

Mit anderen Worten, Elemente einer Menge sollten hashbar sein:z. int , string . Und Sie übergeben ein dict dazu, die nicht hashbar ist und kein Element einer Menge sein kann.

Siehe auch dieses Beispiel:

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

Hoffe das hilft.