MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Pymongo API TypeError:Unhashable dict

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.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Chèn nhiều tài liệu bằng cách sử dụng mongoengine vào mongodb

  2. Không thể kết nối với MongoDB do URI sai

  3. Thêm trường phần tử mảng trong tập hợp MongoDB

  4. MongoDB Atlas Lỗi khi thực hiện giao dịch trên nhiều bộ sưu tập (mã 8000)

  5. Nâng cấp mongodb không có tác dụng và vẫn hiển thị phiên bản cũ