从mongo引擎中的另一个嵌入文档访问嵌入文档

时间:2015-11-30 10:38:34

标签: python mongodb mongoengine

我在mongo引擎中有一个文档,它有一个嵌入式文档。这是我的模特:

Problem

现在我想从Result模型访问 $ sudo Docker commit 2a1aef6a0547 。我该怎么办?

1 个答案:

答案 0 :(得分:2)

EmbeddedDocumentDocument之间的根本区别在于EmbeddedDocument仅存在于Document内部。

  

EmbeddedDocument是一个Document,它不是 存储在自己的收藏集中中。通过EmbeddedDocuments字段类型,EmbeddedDocumentField应该用作文档上的字段。

因此EmbeddedDocument不能具有主键,EmbeddedDocument只是文档内部的字典。在documentation

中有详细说明

id = ObjectId()这不是字段的声明。 there列出了所有可能的字段。由于要声明主键字段,因此需要在字段的参数中使用primary_key=True

problem = ReferenceField('Problem') EmbeddedDocument不能被引用,因为它不是字段。因此,声明嵌入字段的正确方法如下所示:problem = EmbeddedDocumentField(Problem)