[英]REST API in nodejs and mongodb for blog
我很难增加标签架构的articleCount字段。
标记架构:
let tagSchema = new Schema({
name: {
type: String,
required: true
},
createdAt: {
type: Date,
required: true
},
articleCount: {
type: Number,
default: 0
}
})
文章shema:
let articleSchema = new Schema({
...
tags: {
ref: 'tags',
type: [Schema.Types.ObjectId]
}
})
因此,我需要每次添加新文章时,列出的所有标签都增加一个。
要获得这样的东西:
POST /api/articles
{
...
"tags": ["5bfaaedbfe407d345ba2745b", "5bfab93ff73c0d117bd55ea6"]
}
GET /api/tags
{
"articleCount": 1,
"_id": "5bfaaedbfe407d345ba2745b",
"name": "javascript",
"createdAt": "1970-06-28T18:09:05.485Z",
"__v": 0
},
{
"articleCount": 1,
"_id": "5bfab93ff73c0d117bd55ea6",
"name": "css",
"createdAt": "1970-06-28T18:09:05.485Z",
"__v": 0
}
我该怎么做?
基本上有两种方法。
查找可以帮助您生成MongoDB接口和逻辑的ORM框架之一。 有诸如Mongoose之类的特定于DB的ORM,还有诸如Loopback之类的通用跨语言,跨DB ORM框架。 这些通常会要求您提供一个架构,它们会生成API。 好处是一切都由您自己照顾,但需要一定的学习曲线,灵活性较差。
手工编写一组您需要照顾的api,然后自己设置路由器路径,对于每个路由,您都可以在操作详细信息中创建函数和代码。 为此,您将需要为自己的模式(也许每个模式单独)编写CRUD。 优点是(较小的)开发周期更快,功能更小,功能更有限,灵活性更高。
有关REST接口的MongoDB官方文档是开始研究的好地方。 https://docs.mongodb.com/ecosystem/tools/http-interfaces/#rest-interfaces
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.