Просто е, добавили сте допълнителни/излишни къдрави скоби, опитайте това:
self.collection.find_and_modify(query={"recid":recid},
update={"$set": {"creation_date": str(datetime.now())}})
UPD (обяснение, ако приемем, че използвате python>=2.7):
Грешката възниква, защото python смята, че се опитвате да направите набор с {}
нотация:
С други думи, елементите на набор трябва да могат да се хешират:напр. int
, string
. И вие предавате dict
към него, което не е хешируемо и не може да бъде елемент от набор.
Вижте също този пример:
>>> {{}}
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'dict'
Надявам се, че това помага.