如何使用mongokit在find()后更新对象?
@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'] = 'newEmail@rit.edu'
#connection.register([user])
#user['Wall'][1]['Reply'][0]['Message'] = 'test new message'
#print user
user2.save()
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
不过,当我运行这个的时候,我得到了一个对象,它是我的 UserDocument 的一个实例。但是却出现了这个异常:
1 个回答
0
正确的方法是:
user2 = col.User(user)
user2.pop('_id') # you should remove the _id or saving user2 will replace user
user2["Email"] = "newEmail@rit.edu"
user2.save()