MongoDB集合设计加入数据

时间:2014-10-06 08:24:54

标签: javascript node.js mongodb mongoose nosql

我有一个应用程序,客户希望在同一个列表中看到多种类型的文档:(采购订单,付款,差旅请求)。他们希望能够对所有三种文档类型中存在的某些字段进行文本搜索,并且能够对所有三种文档都具有的某些字段进行排序。该列表也必须被分页。

我最初计划将文档放在单独的集合中,因为它们显然是不同类型的文档,但我不知道如何完成他们想要的完整列表,因为我必须将这些集合组合在一起形成1有效列出。

我真的想避免制作一个包含所有这些不同文档类型的集合,因为我不认为它是组织数据的好方法,我认为这个列表视图应该是我们如何组织数据的决定因素数据,但我不确定是否有速度因素将它们分成3个集合,过滤和加入数据,然后在连接列表上执行排序和分页。任何人对我应该做什么或者是否有人有类似情况的经验都有任何建议?

1 个答案:

答案 0 :(得分:0)

您需要为每个采购订单,付款,差旅请求制作不同的收款。

Mongodb提供聚合的功能。聚合操作将来自多个文档的值组合在一起,并且可以对分组数据执行各种操作以返回单个结果。因此,它可以帮助您搜索所有其他文档中的字段。

您可以在Mongodb aggregation

了解汇总
相关问题