0

我使用 MongoKit 作为 ODM 框架。我有对象用户:

class User(Document):
    __collection__ = 'users'
    ...

这里没有__database__- 我使用不同的取决于当前配置文件(开发、测试等)我使用这样的查询来访问数据:

app.db.User.one({'email_confirmation_token.hex': token_hex})

它工作正常。现在我需要使用 find_and_modify 命令。根据文档,我应该从集合调用此方法以获取字典或从对象调用此方法以获取对象。

此调用有效:

app.db.users.find_and_modify({'email_confirmation_token.hex': token_hex}, {'$set': {'active': True}})

但这 - 没有:

app.db.User.find_and_modify({'email_confirmation_token.hex': token_hex}, {'$set': {'active': True}})

错误消息是:AttributeError: 'CallableUser' object has no attribute 'find_and_modify'

为什么它不包含此属性?

4

1 回答 1

1

尽管有文档记录,但源代码中缺少 find_and_modify()。尝试这个:

app.db.User.collection.find_and_modify({'email_confirmation_token.hex': token_hex}, {'$set': {'active': True}})
于 2012-11-09T20:12:25.373 回答