单个mongo查询中的多个计数查询

时间:2018-09-12 01:57:24

标签: mongodb mongodb-query aggregation-framework

我需要同时对3个不同条件的同一个集合进行多次计数查询。

Date <= x
Date <= y
Date <= z 

现在,我知道了

collection.count(query1, function() {
   collection.count(query2, function() {
     collection.count(query3, function() {

有没有一种方法可以在一个mongodb查询中完成所有3个查询。

1 个答案:

答案 0 :(得分:1)

在mongo 3.4版本中使用构面:

db.col.aggregate(
{"$facet":{
  "count1":[{"$match":query1},{"$count":"count"}],
  "count2":[{"$match":query2},{"$count":"count"}],
  "count3":[{"$match":query3},{"$count":"count"}]
}})