如何使用环回对此数据结构进行建模的最佳方法

时间:2017-07-31 14:44:07

标签: loopbackjs

我想拥有以下数据结构:

Blog
{
  name: "blog test",
  description: "description",
  additionalFields: {
    fieldExample: {
      property1: "test",
      property2: "test",
      property3: "test"
    },
    fieldExample2: {
      property1: "test",
      property2: "test",
      property3: "test"
    }
  }
}

动态创建“fieldExamples”并修复“property1”,“property2”,“property3”。

使用loopbackjs和嵌入式模型,如何为“additionalFields”字段建模的最佳方法是什么?

我已经阅读了文档中的嵌入式模型和关系,但我无法弄清楚如何对此进行建模。我很感激一些帮助。

1 个答案:

答案 0 :(得分:0)

我认为embedsMany可以做到这一点。正如此link所说,解决方案可能类似于以下代码:

<强>公共/模型/ blog.json

{
  "name": "Blog",
  "base": "PersistedModel",
  "idInjection": true,
  "properties": {
    "name": {
      "type": "string"
    },
    "description": {
      "type": "string"
    }
  },
  "relations": {
    "additionalFields": {
      "type": "embedsMany",
      "model": "AdditionalFields",
      "property": "additionalFields",
      "options": {
        "validate": true,
        "forceId": false
      }
    }
  }

<强>公共/模型/ additionalFields.json

{
  "name": "AdditionalFields",
  "base": "Model",
  "idInjection": true,
  "properties": {
    "property1": {
      "type": "string"
    },
    "property2": {
      "type": "string"
    },
    "property3": {
      "type": "string"
    }
  }

此代码与您的示例之间的唯一区别是additionalFields。在您的代码中,它是一个对象,但上面代码的输出将是additionalFields的数组。我不确定你的代码是否可以接受。

如果您还需要保存fieldExample,我认为您只需在AdditionalFields模型中添加一个字段并将fieldExample的值保存在其中。