Je to jednoduché, přidali jste extra/nadbytečné složené závorky, zkuste toto:
self.collection.find_and_modify(query={"recid":recid},
update={"$set": {"creation_date": str(datetime.now())}})
UPD (vysvětlení, za předpokladu, že používáte python>=2.7):
K chybě dochází, protože si python myslí, že se pokoušíte vytvořit sadu s {}
zápis:
Jinými slovy, prvky množiny by měly být hašovatelné:např. int
, string
. A předáváte dict
k němu, který není hašovatelný a nemůže být prvkem množiny.
Podívejte se také na tento příklad:
>>> {{}}
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'dict'
Doufám, že to pomůže.