我使用 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 毫秒。
有没有更好的方法来获取引用?这样可以减少上述行的执行时间。