使用节点表达,如何创建用户友好的URL?

时间:2019-04-21 21:51:39

标签: node.js express mongoose

我刚刚完成了Colt Steele的Web Developer训练营,并开始创建自己的应用程序。

我的问题是使用MongoDB,Express和Node,我看到创建的URL类似于http://localhost/category/122398753984,其中的数字是MongoDB _id的数字。

是否可以使用类别名称进行编码?例如http://localhost/category/finance,其中显示类别名称而不是ID值。如果可能的话,我该如何处理名称冲突的问题,例如有人也输入金融作为类别名称。谢谢

1 个答案:

答案 0 :(得分:0)

当然,您只需在类别模型中添加一个新字段即可。

category: {
 _id: ObjectId,
 name: "Finance",
 slug: "finance"
}

现在,当您创建路线时:

router.get('/category/:slug', function(req, res) {
   const slug = req.params.slug;
   const category = // query database using slug value.
   return res.json(category);
})