方案一:将需要join的一部分字段作为embed嵌入宿主document。优点是一次查询搞定,性能好;缺点是可能造成数据冗余,同时嵌入的数据很难做到与原数据同步,可能会形成数据不一致现象。
方案二:通过_id或DBRef进行link。优点是不会造成数据冗余或数据不一致,缺点是需要多次查询才能获得所需要的数据,开销大,特别是在在宿主document较多时开销特别大。
方案三:使用mongodb的mapreduce进行查询。优点是没有数据冗余或数据不一致问题,同时查询次数少。缺点是mongodb的mapreduce基于javascript引擎(目前是spider monkey),单线程运行,因此效率低,不适合实时查询。
* 版权声明 :社区问答内容由互联网用户编辑提交,本社区不拥有所有权,也不承担相关法律责任。如果您发现本社区中有涉嫌侵权、暴力、色情、反
动等言论,欢迎发送邮件至: 进行举报并提供初步证明,一经查实,本社区将立刻删除相关内容。