我当前正在使用LoopbackJS3。我正在尝试为名为Answers的模型定义模型JSON属性。我不明白如何处理对象数组。
Model.defineProperty('answers', {
type: [{
type: {
type: {
type: String,
default: "text",
required: true
},
message : {
type: String,
required: true
}
},
type: {
type: {
type: String,
default: "image",
required: true
},
path : {
type: String,
required: true
}
}
}],
required : false
});
我希望看到这样的东西:
"answers": [
{
"type": "text",
"message": "string"
},
{
"type": "image",
"path": "string"
}
]
但实际上回送仅显示给我:
"answers": [
{
"type": "image",
"path": "string"
}
]
答案 0 :(得分:0)
这是预期的。 您定义的对象两次具有键“类型”。
对象不能有两次相同的密钥,只能保留最后一个。 我建议使用loopback-cli生成模型。
我不确定您是否可以定义具有两种不同类型的数组。 所有使用数组的示例都定义一种类型
['string']
[{type: 'string', required: true}]
我认为您有两个简单的选择:
定义模型元素
elementType:“字符串”(您可以在保存elementType ===“ text”或“ image”之前实现
值:字符串
使用这些关系
元素属于线程
线程hasMany元素
const thread = new Thread(...)
thread.answers = [
{type: "text", value: "..."},
{type: "image", value: "..."}
]
我希望这会有所帮助!