萌新对lookup的使用方式不熟,看文档有点懵,两两使用lookup会,将两个合起来就弄不出来。
常规mysql里面两张主表+一张关系表的查询方式,如何用lookup来使用呢?
通过questionnaire集合,条件为status=0,找出满足条件的questionId,然后再去和question_topic里面的questionId匹配,找到topicArray,然后再拿得到的topicArray和topic集合里面的topicId进行匹配,最终输出所需的topicId
萌新对lookup的使用方式不熟,看文档有点懵,两两使用lookup会,将两个合起来就弄不出来。
常规mysql里面两张主表+一张关系表的查询方式,如何用lookup来使用呢?
通过questionnaire集合,条件为status=0,找出满足条件的questionId,然后再去和question_topic里面的questionId匹配,找到topicArray,然后再拿得到的topicArray和topic集合里面的topicId进行匹配,最终输出所需的topicId
2 个回答
可以用两次lookup,但是强烈建议你用 NOSQL 的思想重构一下数据结构,关联表完全没必要存在哈。
据我的实践经验,lookup一般用在单条数据输出,多条数据就不太建议用lookup,性能太差了,跟嵌套查询似的。像你说的多次lookup还是算了吧。如garField所说,重构下数据结构,单表输出比较合适。