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表的查询方式来进行查询,这样只需要两次查询就可以了。

到底哪种更适合?

阅读 2.4k
1 个回答

应该使用嵌套文档 class里面保存student数组

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题