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

时间:2016-08-15 00:03:14

标签: mongodb loopbackjs strongloop

可以/如何使用LoopbackJS在模型的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文档中的字段string,其值为[object Object] ...

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

1 个答案:

答案 0 :(得分:1)

您可以将其定义为object

一些-model.json:

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

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

对于类型为object的属性,

Loopback不会进行任何验证。