簡體   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