猿问

node.js使用mongodb如何高性能多联表查询?

比如有两个表

student表
id -> 用户id
name -> 用户名
classId -> 班级id

class表
id -> 班级id
name -> 班级名称

如果我想查询所有学生信息,同时把他们所属的班级信息也查询出来,就可以使用mongodb的联表查询方法$lookup
但是网上很多朋友说mongodb做联表查询性能不好,故我想了一个办法

方案一:

在每次查询出student信息时,再根据classid查询class表,然后把数据返回。但是这种办法假如数据又100条,就要进行200次查询。看起来也不好。。

方案二:

不知道有没有这种办法,先把所有的student查询出来,然后把其中所有的classId取出来放进数组中,然后用mysql中 classsId in class表的查询方式来进行查询,这样只需要两次查询就可以了。

到底哪种更适合?


烙印99
浏览 1426回答 1
1回答

阿晨1998

应该使用嵌套文档 class里面保存student数组
随时随地看视频慕课网APP

相关分类

MongoDB
我要回答