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

Loopback and MongoDB Embedded Documents Defining JSON Model

您可以/如何使用 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"
      }

然而,我不想那样做,我只想在 some-model.json 中声明 sub-doc 模型内联,因为它只是用来记录 some-model 的形状文档.

这可能吗?类似于:

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

我尝试了上面的方法,但我最终得到的是 mongodb 文档中的一个字段,该字段的类型为 string,值为 [object Object]...

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

您可以将其定义为 object

一些-model.json:

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

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

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