sql >> Database >  >> NoSQL >> MongoDB

Pymongo API TypeError:Unhashable dict

Het is simpel, je hebt extra/redundante accolades toegevoegd, probeer dit eens:

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

UPD (uitleg, ervan uitgaande dat u python>=2.7 gebruikt):

De fout treedt op omdat python denkt dat je een set probeert te maken met {} notatie:

Met andere woorden, elementen van een set moeten hashable zijn:b.v. int , string . En je passeert een dict toe, wat niet hashable is en geen element van een set kan zijn.

Zie ook dit voorbeeld:

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

Ik hoop dat dat helpt.




  1. Hoe het gemiddelde per dagveld berekenen met MongoDB?

  2. Nestjs:Correct schema voor array van subdocumenten in mangoest (zonder standaard _id of herdefinieer ObjectId)

  3. Hoe controleer ik of een index wordt gebruikt?

  4. Go en MongoDB-verbinding werken niet met panic log geen bereikbare server