To proste, dodałeś dodatkowe/zbędne nawiasy klamrowe, spróbuj tego:
self.collection.find_and_modify(query={"recid":recid},
update={"$set": {"creation_date": str(datetime.now())}})
UPD (wyjaśnienie, zakładając, że jesteś na pythonie>=2.7):
Błąd występuje, ponieważ python myśli, że próbujesz utworzyć zestaw za pomocą {}
notacja:
Innymi słowy, elementy zbioru powinny być haszowalne:np. int
, string
. I przekazujesz dict
do niego, który nie jest haszowalny i nie może być elementem zestawu.
Zobacz także ten przykład:
>>> {{}}
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'dict'
Mam nadzieję, że to pomoże.