Node JS REST Api - 模型之间的关系

时间:2017-06-01 15:01:57

标签: javascript node.js rest

让我们说我有两条路线:"汽车"和"人和#34;在我的服务器上。

app.get('/cars', getAll)
app.get('/cars/:id', get)
app.get('/people', getAll)

一切都很好。现在,我必须修改方法" getAll" in" people"模型。在这种方法中,我需要通过ID获取有人拥有的汽车。我无法使用方法"得到"因为在这种方法中我有类似

的东西
res.status(200).send(car)

我需要返回汽车,而不是http响应。现在,我回复诺言,所以我的路线如下所示:

app.get('/cars/:id, (req, res) => {
   //...
   model.get(id).then(car => {
       res.status(200).send(car)
   })
})

但我不确定这是否是一个好的解决方案。另一种方法是从方法" getAll"中调用API。 in" people"模型,但它更糟糕。从其他模型调用方法的最佳方法是什么?

此致

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题,你可以做这样的嵌套路线:

app.get('/people/:id/cars', getPeoplesCars);

所得到的汽车列表将取决于该人。

function getPeoplesCars(req, res, next) {

     // e.g. in mongoose if there is such a relation

     Cars.find({peopleId: req.params.id}, function (err, cars) {
         // etc. you take it from here
     });

}

我不确定,这个答案是否解决了你的问题。