MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Erreur de type d'API Pymongo :dict non hachable

C'est simple, vous avez ajouté des accolades supplémentaires/redondantes, essayez ceci :

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

UPD (explication, en supposant que vous êtes sur python>=2.7):

L'erreur se produit car python pense que vous essayez de créer un ensemble avec {} notation :

En d'autres termes, les éléments d'un ensemble doivent être hachables :par ex. int , string . Et vous passez un dict à celui-ci, qui n'est pas hachable et ne peut pas être un élément d'un ensemble.

Voir également cet exemple :

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

J'espère que ça aide.