sql >> Databasteknik >  >> NoSQL >> MongoDB

Pymongo API TypeError:Unhashable dict

Det är enkelt, du har lagt till extra/överflödiga lockiga hängslen, prova detta:

self.collection.find_and_modify(query={"recid":recid}, 
                                update={"$set": {"creation_date": str(datetime.now())}})

UPD (förklaring, förutsatt att du är på python>=2.7):

Felet uppstår eftersom python tror att du försöker skapa en uppsättning med {} notation:

Med andra ord bör element i en uppsättning vara hashbara:t.ex. int , string . Och du skickar ett dict till den, som inte är hashbar och inte kan vara en del av en uppsättning.

Se även detta exempel:

>>> {{}}
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'dict'

Hoppas det hjälper.




  1. 2 sätt att ersätta en delsträng i MongoDB

  2. beräknande medelvärde i Mongoose

  3. Unika poäng för redis leaderboard

  4. Hur förbättrar jag Redis-serverns CPU-användning?