【发布时间】:2020-09-02 04:35:58
【问题描述】:
我有一个关于mongodb的“聚合”功能的问题
如果我有一个任务,我可以通过循环所有文档 1 次来解决它。但是我需要使用“聚合”功能(还需要查询所有文档)3次以上才能解决。
数据结构:
{
_id: 'XXX',
list_of_content: [{type: 'cat or dog', 'emotion': 'happy or sad'}]
}
如果我的数据是这样的,我想统计“内容”属于“猫”、“狗”、“快乐”和“悲伤”的数量。如果我循环遍历文档,我只需要计算数量并在一个循环内解决这个问题。
如果我使用聚合,我需要展开它并使用 2 个聚合函数
哪种方式效率更高?
【问题讨论】:
-
它基于您的数据负载。基本上我们使用聚合而不是循环
-
{'_id': 'XXX', list_of_content: [{type: 'cat or dog', 'emotion': 'happy or sad'}]} 如果我的数据是这样的,我想要数“内容”的数量属于“猫”、“狗”、“快乐”和“悲伤”。如果我遍历文档,我只需要计算数量并在一个循环内解决这个问题。如果我使用聚合,我需要使用 2 个聚合函数...
-
你的数据多长时间?
-
非常大..并且还在增长,目前约为 20k
-
随着它的发展,最好使用聚合,因为所有过程都作为数据库中的单个过程发生
标签: mongodb mongodb-query