【问题标题】:ListField(DictField()) with mongoengineListField(DictField()) 与 mongoengine
【发布时间】:2014-10-04 03:17:06
【问题描述】:

如何使用 mongoengine ListField(DictField()) 并访问它,因为下面的代码不起作用?

from mongoengine import *

class Test():
    g = ListField(DictField(Mapping.build(
    test1=StringField(required=True),
    test2=StringField(required=True)
)))

【问题讨论】:

  • 正确的答案是使用嵌入文档而不是 DictField。

标签: mongodb python-2.7 mongoengine


【解决方案1】:

尝试使用这种格式,

类类嵌入: t = 字符串字段() p = 字符串字段() 类测试: g = ListField(EmbeddedDocumentField(classEmbed))

【讨论】:

    【解决方案2】:

    我知道这篇文章已经很老了,但是对于任何从使用 mongoengine 开始发现这个帖子的人来说。为了改进 Niranj 的答案,现在有一个 EmbeddedDocumentListField,您需要从这些类中的 EmbeddedDocument 或 Document 继承。

    class classEmbed(EmbeddedDocument):
        t = StringField()
        p = StringField()
    
    class Test(Document):
        g = EmbeddedDocumentListField(classEmbed)
    

    文档是字段下的here

    【讨论】:

      猜你喜欢
      • 2016-10-04
      • 1970-01-01
      • 2019-04-22
      • 1970-01-01
      • 1970-01-01
      • 2020-12-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多