Node.js 在Mongoose中为主页中的文章/主题列表和每个完整详细的文章/主题设计实用模式

Node.js 在Mongoose中为主页中的文章/主题列表和每个完整详细的文章/主题设计实用模式,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我是Mongoose的新手,正在尝试在它上面创建我的第一个DB 这是我的问题 我已经为Node.js API项目的一个旅游网站创建了一个旅游模式 前端的两个部分将从该模型获取数据: 包含旅游列表的主页 及 每个特定巡更的详细信息页面 这是JSON文件 { “名字”:“某个名字”, “类型”:“畅销书之旅”, “图像缩略图”:https://cdn.vuetour.com/images/cards/docks.jpg", “评级”:4.3, “期限”:4, “运输”:“飞机”, “审查计数

我是Mongoose的新手,正在尝试在它上面创建我的第一个DB

这是我的问题

我已经为Node.js API项目的一个旅游网站创建了一个旅游模式

前端的两个部分将从该模型获取数据:

  • 包含旅游列表的主页

  • 每个特定巡更的详细信息页面

这是JSON文件

{
“名字”:“某个名字”,
“类型”:“畅销书之旅”,
“图像缩略图”:https://cdn.vuetour.com/images/cards/docks.jpg",
“评级”:4.3,
“期限”:4,
“运输”:“飞机”,
“审查计数”:25,
“价格”:6999,
“审查”:[
“出色的工作。出色的工作。出色的工作。出色的工作。出色的工作。出色的工作。出色的工作。出色的工作。出色的工作。出色的工作。出色的工作。出色的工作。我还能说什么?快速、彻底、出色。”,
“出色的工作。出色的工作。出色的工作。出色的工作。出色的工作。出色的工作。出色的工作。出色的工作。出色的工作。出色的工作。出色的工作。出色的工作。我还能说什么?快速、彻底、出色。”,
“干得好。干得好。干得好。干得好。干得好。干得好。干得好。干得好。干得好。干得好。干得好。干得好。我还能说什么呢?快,彻底,干得好。”
],
“时间线”:[
{
“天”:1,
“标题”:“第1天:到达并会见团队”,
“说明”:[
“知识本身是一种美德,是一种美德,是一种美德,是一种美德,是一种美德,是一种美德,是一种美德,是一种美德,是一种美德,是一种美德。”有时,如果你不自以为是,就必须为自己的行为负责。”
]
},
{
“天”:2,
“标题”:“第二天:海滩、寺庙和日落”,
“说明”:[
“知识本身是一种美德,是一种美德,是一种美德,是一种美德,是一种美德,是一种美德,是一种美德,是一种美德,是一种美德,是一种美德。”有时,如果你不自以为是,就必须为自己的行为负责。”
]
},
{
“天”:3,
“标题”:“第三天:学会冲浪”,
“说明”:[
“知识本身是一种美德,是一种美德,是一种美德,是一种美德,是一种美德,是一种美德,是一种美德,是一种美德,是一种美德,是一种美德。”有时,如果你不自以为是,就必须为自己的行为负责。”
]
},
{
“天”:4,
“标题”:“第三天:学会冲浪”,
“说明”:[
“知识本身是一种美德,是一种美德,是一种美德,是一种美德,是一种美德,是一种美德,是一种美德,是一种美德,是一种美德,是一种美德。”有时,如果你不自以为是,就必须为自己的行为负责。”
]
},
{
“天”:5,
“标题”:“第三天:学会冲浪”,
“说明”:["知识本身是一种美德,是一种美德,是一种美德,是一种美德,是一种美德,是一种美德,是一种美德,是一种美德,是一种美德,是一种美德,是一种美德如果你不自以为是,就必须为自己的行为负责。”
]
}
]
},,
},
我是否需要分为两个集合:

  • 我需要一些简短的信息,如名称、价格、评分、评论数量等

  • 2是每个特定详细信息浏览页面的长详细信息值,如时间线、回顾等

如果这样划分,我必须为一个详细的浏览页面查询DB 2次-获取短数据和长数据

或者我只是为上面所有的数据创建一个集合

我看到他们只是创建了一个文章模型来存储所有数据

var ArticleSchema=newmongoose.Schema({
slug:{type:String,小写:true,unique:true},
标题:字符串,
描述:字符串,
body:String,//博客内容的长字符串数据
favoritesCount:{type:Number,默认值:0},
注释:[{type:mongoose.Schema.Types.ObjectId,ref:'Comment'}],
标记列表:[{type:String}],
作者:{type:mongoose.Schema.Types.ObjectId,ref:'User'}
},{时间戳:true});
当我们在主页上获得文章列表时,所有的数据都已发送回用户——甚至是隐藏的文章的长正文

那么,在现实项目中,解决方案是什么呢


谢谢

我不会添加两个单独的集合,我只会使用一个集合,并通过API只发送回所需的数据。如果需要,您可以使用GraphQL