MongoDB聚合未显示结果

时间:2018-09-07 15:16:07

标签: mongodb aggregation-framework

我正在尝试在Mongo中分组,问题是我没有结果。我想做的等同于:

select nodo, count(*) as cantidad group by nodo

所以,我的Mongo查询是:

var start = ISODate("2018-08-01T00:00:00.000Z").getTime() / 1000;
var end = ISODate("2018-08-01T23:59:59.000Z").getTime() / 1000;

print("nodo;cantidad");
db.reclamosTecnicos.aggregate([
    { $group : { _id : "$cliente.nodoCrm", cantidad : {$sum : 1} } },
    { $match : { tipoResolucion: {$eq: 0}, fechaCarga: { $gt: start, $lt: end } } }
]).forEach(function(doc){
print(doc._id+";"+doc.cantidad);
})

但是我没有结果。我以为问题是$ match部分,但是如果我单独运行它,我会得到一个结果,如您在此图中所看到的:

enter image description here

您能看到我在做什么吗?

2 个答案:

答案 0 :(得分:1)

您的$match阶段应该是$group之前的第一阶段。

db.reclamosTecnicos.aggregate([
  { $match : { tipoResolucion: {$eq: 0}, fechaCarga: { $gt: start, $lt: end } } },
  { $group : { _id : "$cliente.nodoCrm", cantidad : {$sum : 1} } }
])

答案 1 :(得分:0)

如Anthony在评论中所述,我必须将$ match放在$ group之前。