У меня есть пут и получить функцию, которая вставляет в MongoDB:Как хранить объекты блокировки в MongoDB?
def put(self,key,value):
key = self.path+"&&"+key
value1 = Binary(pickle.dumps(value))
entry = {"keyname":key,"info":value1}
self.filenode.update({"keyname":key}, { "$set" : entry }, upsert=True)
def get(self,key):
key1 = key
key = self.path+"&&"+key
res = self.filenode.find_one({"keyname":key})
if "info" in res:
x = res["info"]
res1 = pickle.loads(x)
return res1
else:
return None
Это работает, если значение в оферте простого типа, такие как строки, Dict и т.д. Но если значение является объект не в состоянии протравить внутри функции put. Ошибка я получаю:
raise TypeError, "can't pickle %s objects" % base.__name__
TypeError: не солить блокировки объектов