Es simple, ha agregado llaves extra/redundantes, intente esto:
self.collection.find_and_modify(query={"recid":recid},
update={"$set": {"creation_date": str(datetime.now())}})
UPD (explicación, asumiendo que está en python>=2.7):
El error ocurre porque python cree que está intentando hacer un conjunto con {}
notación:
En otras palabras, los elementos de un conjunto deben ser hashable:p. int
, string
. Y estás pasando un dict
a él, que no es hashable y no puede ser un elemento de un conjunto.
Además, vea este ejemplo:
>>> {{}}
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'dict'
Espero que ayude.