我有一种特定的JSON,我需要将其编码为Django问题的模型。问题是我在其中嵌套了文档,还是应该说对象的对象,却不知道如何在Pymodm或Mongoengine中设计模型。
这是我正在使用的JSON模式。
{
"something": "something",
"safasf": 5,
"key": {
"value1": ["dsd", "dd"],
"value2": {
"blah1": "blahvalue1",
"blah2": "blahvalue2"
}
}
}
我已经研究了这两个ODM的文档和API参考。我找不到任何有用的东西。充其量它们具有 fields.EmbeddedDocumentListField ,用于存储文档/对象的列表。
答案 0 :(得分:0)
您的示例json毫无意义,但这是如何使用mongoengine对其建模的示例
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()
这将在Mongo中保存具有以下形状的对象
{'_id': ObjectId('5d2d832c96d2914c2a32c1b3'),
'key': {
'value1': ['dsd', 'dd'],
'value2': {
'blah1': 'blahvalue1',
'blah2': 'blahvalue2'
}
},
'safasf': 5,
'something': 'something'
}