首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于Django的pymodm或mongoengine中嵌套文档的模型

用于Django的pymodm或mongoengine中嵌套文档的模型
EN

Stack Overflow用户
提问于 2019-07-12 10:32:10
回答 1查看 1.2K关注 0票数 1

我有一种特定类型的JSON,我需要将它编码成Django问题的模型。问题是我有嵌套文档,或者应该说对象的对象,我不知道如何在Pymodm或Mongoengine中设计模型。

下面是我正在研究的JSON模式。

代码语言:javascript
复制
{
    "something": "something",
    "safasf": 5,
    "key": {
        "value1": ["dsd", "dd"],
        "value2": {
            "blah1": "blahvalue1",
            "blah2": "blahvalue2"
        }
    }
}

我已经研究了这两种ODM的文档和API引用。我找不到有用的东西。充其量,它们有存储文档/对象列表的fields.EmbeddedDocumentListField。

EN

回答 1

Stack Overflow用户

发布于 2019-07-16 08:00:12

您的示例json非常没有意义,但这是一个如何使用mongoengine对其建模的示例。

代码语言:javascript
复制
from mongoengine import *

class MyNestedDoc(EmbeddedDocument):
    value1 = ListField(StringField())
    value2 = DictField(StringField())

class MyDocument(Document):
    something = StringField()
    safasf = IntField()
    key = EmbeddedDocumentField(MyNestedDoc)


nested_doc = MyNestedDoc(
    value1=["dsd", "dd"],
    value2={
        "blah1": "blahvalue1",
        "blah2": "blahvalue2"
    }
)
doc = MyDocument(something="something", safasf=5, key=nested_doc)
doc.save()

这将保存一个具有以下形状的对象

代码语言:javascript
复制
{'_id': ObjectId('5d2d832c96d2914c2a32c1b3'),
 'key': {
  'value1': ['dsd', 'dd'],
  'value2': {
    'blah1': 'blahvalue1',
    'blah2': 'blahvalue2'
    }
  },
 'safasf': 5,
 'something': 'something'
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57005189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档