0
@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()

但是,当我运行它时,我收到了该对象,它是我的 UserDocument 的一个实例。但是引发了这个异常:

    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
4

1 回答 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()
于 2013-03-19T08:55:07.930 回答