Sederhana saja, Anda telah menambahkan kurung kurawal ekstra/berlebihan, coba ini:
self.collection.find_and_modify(query={"recid":recid},
update={"$set": {"creation_date": str(datetime.now())}})
UPD (penjelasan, dengan asumsi Anda menggunakan python>=2.7):
Kesalahan terjadi karena python mengira Anda mencoba membuat set dengan {}
notasi:
Dengan kata lain, elemen set harus hashable:mis. int
, string
. Dan Anda memberikan dict
untuk itu, yang tidak dapat di-hash dan tidak dapat menjadi elemen dari suatu set.
Juga, lihat contoh ini:
>>> {{}}
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'dict'
Semoga membantu.