繁体   English   中英

MongoDB 聚合没有显示结果

[英]MongoDB Aggregate shows no result

我试图在 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 部分,但如果我单独运行它,我会得到一个结果,如下图所示:

在此处输入图片说明

你能看出我做错了什么吗?

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

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

正如 Anthony 在评论中所说,我不得不将 $match 放在 $group 之前。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM