db.collection.find()和db.collection.aggregation()之间有什么区别

时间:2016-03-10 21:11:39

标签: mongodb-query

我是新的Mongodb。我试图找出db.collection.find()和db.collection.aggregation()之间的区别

当我执行两个命令时,两者都产生相同的结果。

请更多见解......

1 个答案:

答案 0 :(得分:2)

聚合是一种命令,用于汇总不同的数据处理器,无论它们是过滤器,分组等。它的实际用途是采取您指定用于数据处理的多个操作,然后进行优化它们以便以最有效的方式返回所有过滤器/组/的结果。

然而,正如你所说,通过什么都不传递,你只会像在find()中看到的那样接收数据。这种情况的原因是因为对于聚合框架,它看到没有要遵守的过滤器/分组/查询,因此决定要返回所有数据。然而,在Find()上使用Aggregation()仍然是低效的,因为你仍在做一些额外的事情,这会给性能带来一些打击。

有关聚合和聚合管道的更多信息,请访问:https://docs.mongodb.org/manual/core/aggregation-pipeline/