sql >> Base de Datos >  >> NoSQL >> MongoDB

Pymongo API TypeError:dictamen no modificable

Es simple, ha agregado llaves extra/redundantes, intente esto:

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

UPD (explicación, asumiendo que está en python>=2.7):

El error ocurre porque python cree que está intentando hacer un conjunto con {} notación:

En otras palabras, los elementos de un conjunto deben ser hashable:p. int , string . Y estás pasando un dict a él, que no es hashable y no puede ser un elemento de un conjunto.

Además, vea este ejemplo:

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

Espero que ayude.