最初に警告しますが、これはリレーショナルスキーマであるだけでなく、再帰的にリレーショナルなスキーマでもあります。関係をたどって、すべてをロードすることになります。 UserAccount
オブジェクト。
参加なしがあることを忘れないでください MongoDBでは、クライアントコード(mongoengine)にアプリケーション結合で実行するように要求しています。つまり、複数のクエリを実行し、結果を正しいドキュメントに割り当てるのはコストがかかります。ですから、「これは仕事に適したツールですか? "
ただし、観察結果は正しいです。デフォルトでは、 select_related()
単一のリレーションのみがダウンするため、ユーザーオブジェクトの場合、最初の友達のセットのみが逆参照され、友達は逆参照されません。深さを変更するには、select_related(max_depth=2)
に渡します。 。