0

ODM フレームワークとして MongoKit を使用しています。私はオブジェクトユーザーを持っています:

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 に答える