环回:在Loopback

时间:2016-12-20 06:10:04

标签: javascript mongodb loopbackjs

我想要一个包含子文档的文档,如下所示:

course: {
   id,
   name,
   sections: {
    section: {
      id,
      name
    }
  }
}

如何在Loopback中创建此模型? 我不想为section创建单独的模型,因为我想将其建模为子文档。

另外,提供一些有关如何从子文档ID获取子文档的信息。

例如:如果我想查找有关id = 2的部分的详细信息,则不应该详细了解课程并提供有关该部分的详细信息。

1 个答案:

答案 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, ..) {
  //...
  } 
}