我想拥有以下数据结构:
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”字段建模的最佳方法是什么?
我已经阅读了文档中的嵌入式模型和关系,但我无法弄清楚如何对此进行建模。我很感激一些帮助。
答案 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的值保存在其中。