@connection.register
class User(Document):
__database__ = 'foo'
__collection__ = 'bar'
structure = {
'_id' : ObjectId,
'Email' : basestring,
}
col = connection['uplace']['user']
user = col.find()[2]
user2 = User(user)
user2['Email'] = '[email protected]'
#connection.register([user])
#user['Wall'][1]['Reply'][0]['Message'] = 'test new message'
#print user
user2.save()
However when I run this, I receive the object and it is a instance of my UserDocument. But this exception is raised:
server_version = tuple(self.connection.server_info()['version'].split("."))
File "/Library/Python/2.7/site-packages/mongokit/document.py", line 628, in __getattribute__
raise ConnectionError('No collection found')
mongokit.mongo_exceptions.ConnectionError: No collection found
The right way is :
user2 = col.User(user)
user2.pop('_id') # you should remove the _id or saving user2 will replace user
user2["Email"] = "[email protected]"
user2.save()