Loopback和MongoDB嵌入式文档定义JSON模型

问题描述:

您可以/如何用LoopbackJS在模型的json定义中定义嵌入式文档,而无需创建表示子文档的模型?Loopback和MongoDB嵌入式文档定义JSON模型

例如,请考虑以下这个文件的MongoDB:

{ 
     _id: ObjectId("some_mongodb_id"), 
     subDocs: [ 
      { 
       "propertyA": "a1", 
       "propertyB": "b1" 
      }, 
      { 
       "propertyA": "a2", 
       "propertyB": "b2" 
      } 
     ] 
} 

我可以回送建立两个模型:

some-model.json: 
     ... 
     "properties": { 
      "subDocs": [ 
       "SubDocsModel" 
      ] 
     } 

sub-docs-model.json: 
     ... 
     "properties": { 
      "propertyA": "string", 
      "propertyB": "string" 
     } 

不是这样做,但是,我想只是申报sub-doc模型内嵌在some-model.json中,因为它只是在那里记录some-model的文档的形状。

这可能吗?喜欢的东西:

some-model.json: 
... 
"properties":{ 
     "subDocs": [ 
      { 
       "propertyA": { 
        "type": "string" 
       }, 
       "propertyB": { 
        "type": "string" 
       } 
      } 
     ] 
} 

我试过以上,但我结束了我的MongoDB文档与价值[object Object]string在现场...

的目的是(1)以记录子文档的形状,以及(2)允许通过回送进行验证而不添加定制逻辑。

您可以将它定义为object

一些-model.json:

"properties": { 
     "subDocs": ["object"] 
    } 

但如果你想验证或有子文档的结构,你需要创建一个回环模型。

Loopback不进行任何验证,...对于类型为object的属性。

+0

正确...但这需要我编写额外的代码来验证像'propertyA'类型为'string'的东西。有没有一种方法来编码类型? – jpoveda

+0

@jpoveda号码如果您想要验证和子文档的数据结构的好处,您需要创建一个回环模型 –

+0

感谢您的澄清。如果您更新了有关需要验证模型的详细信息,我会将答案标记为已接受。我会更新我的问题以明确该要求。 – jpoveda