MongoDB Aggregate не показывает результата - PullRequest
0 голосов
/ 07 сентября 2018

Я пытаюсь создать группу в Монго, и проблема в том, что у меня нет результата. Я хочу сделать эквивалент:

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

Итак, мой запрос Монго:

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 голосов
/ 07 сентября 2018

Ваш $match этап должен быть первым этапом перед $group.

db.reclamosTecnicos.aggregate([
  { $match : { tipoResolucion: {$eq: 0}, fechaCarga: { $gt: start, $lt: end } } },
  { $group : { _id : "$cliente.nodoCrm", cantidad : {$sum : 1} } }
])
0 голосов
/ 07 сентября 2018

Как сказал Энтони в комментарии, мне пришлось поставить $ match перед $ group.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...