フェッチ時に DBRef を含むドキュメントにフィールドをフィルター処理したいと考えています。対象のフィルタリング フィールドは、DBRef を使用して関連付けられた子ドキュメントです。こんなコーデしたい。
db.User.find(fields=['_id', 'profile._id', 'profile.text'])
この例では、「プロファイル」フィールドは DBRef を使用しています。
誰かが何か考えがありますか?
では、各ユーザー ドキュメントには、プロファイル ドキュメントへの DBRef がありますか? MongoKit のソースを見ると、あなたが望むことは不可能のように思えます:
https://github.com/namlook/mongokit/blob/master/mongokit/document.py#L647
MongoDB から参照先のドキュメントを取得するために one() (実質的には find()) を実行する方法を確認してください。これは、MongoKit がフィールドのリストを渡して、参照先のドキュメントに含めたり除外したりする必要がある場所ですが、MongoKit はそうしません。作成者に機能リクエストを開くか、自分で追加してパッチを送信できるかどうかを確認してください。