我已经在我的(Flask-MongoEngine)数据库中存储了一类文档,并且我已经有了它们的唯一 id。我的实际示例更复杂,但假设它看起来像这样:
class Stuff(Document):
stuffstuff = StringField()
我想从我的数据库中已有的 Stuffs 中收集 Stuff 实例。假设我想从我的数据库中当前的 Stuff 实例中创建一个下面的类的新实例。
class StuffsCollection(Document):
lotsofstuffs = ListField(ReferenceField(Stuff))
在ReferenceField文档中,创建 StuffsCollection 实例的唯一方法似乎是首先创建 Stuff 的实例,然后将它们作为关键字参数传入。例如:
a_thing = Stuff(stuffstuff="here's a thing")
a_thing.save()
some_things = StuffsCollection(lotsofstuffs=[a_thing])
some_things.save()
由于我已经拥有引用我的 Stuff 实例的唯一 ID,我可以告诉 MongoEngine 使用那些现有的 Stuffs 作为新 StuffsCollection 中的关键字参数吗?这似乎比为每个文档查询数据库,然后创建该文档的新实例,然后将每个实例传递到我的新 ListField 更有效。