Python 从mongo引擎中的另一个嵌入文档访问嵌入文档
我在mongo engine中有一个文档,其中包含一个嵌入式文档。这是我的模型:Python 从mongo引擎中的另一个嵌入文档访问嵌入文档,python,mongodb,mongoengine,Python,Mongodb,Mongoengine,我在mongo engine中有一个文档,其中包含一个嵌入式文档。这是我的模型: class Problem(EmbeddedDocument): id = ObjectId() class Result(EmbeddedDocument): problem = ReferenceField('Problem') class Contest(Document): problem = EmbeddedDocumentField(Problem) 现在我想从结果模型访问
class Problem(EmbeddedDocument):
id = ObjectId()
class Result(EmbeddedDocument):
problem = ReferenceField('Problem')
class Contest(Document):
problem = EmbeddedDocumentField(Problem)
现在我想从
结果
模型访问问题
。我该怎么做?嵌入文档和文档
之间的根本区别在于嵌入文档
只存在于文档
内部
EmbeddedDocument
是一个文档
,它不存储在自己的集合中<代码>嵌入文档应通过嵌入文档字段
字段类型用作文档上的字段
因此,EmbeddedDocument
不能有主键,EmbeddedDocument
它只是文档中的一个dict。详述于
id=ObjectId()
这不是字段的声明。列出了所有可能的字段。由于要声明主键字段,您需要在字段的参数中使用primary\u key=True
problem=ReferenceField('problem')
EmbeddedDocument
不能作为引用,因为它不是字段。因此,声明嵌入字段的正确方法如下所示:problem=EmbeddedDocumentField(problem)
您能解释一下数据结构在结尾应该是什么样子吗?我认为在嵌入文档和引用文档时可能会出现一些重复信息。