Object-Document マッパーとして mongoengine を使用しています。問題の原因となっているコレクションの簡単な説明を次に示します。コレクション A の各ドキュメントは、コレクション B のドキュメントへの参照のリストを持つことができます。
class A(Document):
list_b = ListField(EmbeddedDocumentField(EB))
#other fields are not mentioned.
class EB(EmbeddedDocument):
b_reference = ReferenceField('B')
loc = GeoPointField()
class B(Document):
name = StringField()
#other fields are not mentioned.
特定のドキュメントのリスト オブジェクトにアクセスしようとすると、
document_of_A.list_b
上記の行の実行時間は、リストに存在する参照の数によって異なります。たとえば。リスト内の 100 件の参照に 100 ミリ秒かかります。
上記の行の実行時間を短縮するために、参照を取得するより良い方法はありますか?