我想要一个包含子文档的文档,如下所示:
course: {
id,
name,
sections: {
section: {
id,
name
}
}
}
如何在Loopback中创建此模型? 我不想为section创建单独的模型,因为我想将其建模为子文档。
另外,提供一些有关如何从子文档ID获取子文档的信息。
例如:如果我想查找有关id = 2的部分的详细信息,则不应该详细了解课程并提供有关该部分的详细信息。
答案 0 :(得分:0)
您可以使用embedded models。
以下是使用Course.json
Course
embedsMany
关系的示例Section
配置。
请注意,您无需在其他地方声明Section
模型,因为它已嵌入Course
内。
{
"name": "Course",
"base": "PersistedModel",
"idInjection": true,
"properties": {
"name": {
"type": "string"
}
},
"relations": {
"emails": {
"type": "embedsMany",
"model": "Section",
"property": "name",
"options": {
"forceId": true,
}
}
...
}
然后,要以编程方式将电子邮件地址添加到课程,首先找到课程的实例,然后使用其生成的电子邮件属性。同样,this is documented
var id = 0;
Course.findById(id, function(err,course) {
course.emails.add({name: 'foo@bar.com'}, function(err, ..) {
//...
}
}