Node.js 在Nodejs中连接MongoDB中的两个集合有更好的方法吗

Node.js 在Nodejs中连接MongoDB中的两个集合有更好的方法吗,node.js,mongodb,join,nosql,nosql-aggregation,Node.js,Mongodb,Join,Nosql,Nosql Aggregation,我在mongodb中使用nodejs。 我们的团队目前正在构建一个简单的android社区应用程序。 作为服务器程序员,我想知道是否有更好的方法使用mongodb处理数据库 上图显示了我们的应用程序。 当用户单击一篇文章(左图)时,应用程序将移动到包含文章内容的文章页面(① (右图标记)和文章评论(② 右图像的标记) 我们成功创建了这些应用程序。 但有一个严重的问题:响应时间慢 应用程序通过每两个POST API提供数据。 一个是加载文章内容的/selectBoardArticle,另一个是加

我在mongodb中使用nodejs。
我们的团队目前正在构建一个简单的android社区应用程序。
作为服务器程序员,我想知道是否有更好的方法使用mongodb处理数据库

上图显示了我们的应用程序。
当用户单击一篇文章(左图)时,应用程序将移动到包含文章内容的文章页面(① (右图标记)和文章评论(② 右图像的标记)

我们成功创建了这些应用程序。
但有一个严重的问题:响应时间慢

应用程序通过每两个POST API提供数据。
一个是加载文章内容的/selectBoardArticle,另一个是加载文章全部评论的/selectCommentList。 需要请求才能带来文章的数据

一些开发人员表示,两个请求导致响应时间极短。 因此,我正在尝试集成/selectBoardArticle/selectCommentListAPI

我知道集成两个集合的数据的两个选项。
首先,使用db.collection.aggregate函数。
这是/selectBoardArticleAPI的源代码

app.post('/selectBoardArticle',util.session,function(req,res){
TN_BBS.find({BBS_id:req.body.BBS_id,ntt_id:req.body.ntt_id,在:“Y”})处使用)。exec(函数(错误,结果){
如果(结果长度){
//增加读取计数并保存
结果[0]。rdcnt++;
结果[0]。保存(函数(){
//连接文章的注释(TN_comment)和图像(TN_FILEDETAIL)数据
TN_BBS.aggregate([{
“$lookup”:{
来自:“TNU评论”,
localField:“ntt\U id”,
外域:“ntt_id”,
as:“评论”
}
}, {
“$lookup”:{
发件人:“TN_FILEDETAIL”,
localField:“atch\u文件\u id”,
foreignField:“atch_file_id”,
as:“TNU文件详细信息”
}
}, {
“$match”:{
ntt_id:req.body.ntt_id,
bbs_id:req.body.bbs_id
}
}]).limit(1).exec(函数(错误、结果){
如果(错误){
返回res.send(err);
}
res.end(JSON.stringify(结果[0]);
设置点(要求主体ntt_id);
})
});
}
其他的
res.end(“没有结果!”);
}); 

其次,找到每篇文章和评论数据,并通过javascript将评论数据插入到文章数据中

router.get('/selectBoardArticles/:bbs_id',函数(req,res){
var query={bbs_id:req.params.bbs_id,使用_at:“Y”};
TN_BBS.find(查询、函数(错误、文档){
如果(错误){
返回res.send(err);
}
变量ntt_id=[];
对于(变量i=0;i
虽然这个API返回文章列表,但我想说的概念是查找两次并通过javascript插入子数据

我发现在加入收藏方面没有什么问题

第一个问题 我觉得使用mongodb作为关系数据库是不推荐的

MongoDB背后的想法是消除(或至少最小化) 关系数据。

如果我理解正确,我应该避免加入收藏。
但我无法找到避免加入收藏的方法。
我应该将两个集合集成到一个集合中吗?
当有人经常在mongodb中使用聚合时,我认为最好使用关系数据库。
我想知道你是怎么想的

第二个问题 加入mongodb中的两个集合。
与关系数据库相比,我必须编写非常复杂的代码。 更具体地说,mongodb需要非常长和复杂的连接查询,这在mysql中可以通过连接查询轻松直观地完成,这对维护造成了不利影响。

我想知道有没有更好、更有效的方法在nodejs中连接mongoDB中的两个集合?

如果您发布了您想要的样本集合和输出,而不是这个故事,那会更好……似乎您正试图在需要关系数据库的地方使用Mongo,在这种情况下:您考虑过关系数据库吗?