Thật đơn giản, bạn đã thêm dấu ngoặc nhọn thừa / thừa, hãy thử cách này:
self.collection.find_and_modify(query={"recid":recid},
update={"$set": {"creation_date": str(datetime.now())}})
UPD (giải thích, giả sử bạn đang sử dụng python> =2.7):
Lỗi xảy ra do python cho rằng bạn đang cố tạo một tập hợp với {}
ký hiệu:
Nói cách khác, các phần tử của một tập hợp phải có thể băm được:ví dụ:int
, string
. Và bạn đang chuyển một dict
đối với nó, không thể băm và không thể là một phần tử của một tập hợp.
Ngoài ra, hãy xem ví dụ này:
>>> {{}}
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'dict'
Hy vọng điều đó sẽ hữu ích.