我正在使用mongokit作为ODM框架。我有对象用户:
class User(Document):
__collection__ = 'users'
...
这里没有__database__
-我使用的不同取决于当前配置文件(开发,测试等),我使用这样的查询来访问数据:
app.db.User.one({'email_confirmation_token.hex': token_hex})
它可以正常工作。现在,我需要使用find_and_modify命令。根据文档,我应该从集合中调用此方法以获取dict或从对象中获取对象。
此通话有效:
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'对象没有属性'find_and_modify'。
为什么它不包含此属性?
find_and_modify()在源代码中缺少,尽管记录了记录。尝试以下操作:
app.db.User.collection.find_and_modify({'email_confirmation_token.hex': token_hex}, {'$set': {'active': True}})