Я недавно обновил mongo в своей среде разработки, чтобы использовать новые функциональные возможности (Mongod 1.4 -> 4.0). Теперь все мои существующие агрегированные запросы возвращают ошибку:
{[MongoError: требуется опция 'cursor', за исключением агрегата
с аргументом объяснения] name: 'MongoError', ок: 0, errmsg:
Опция \ 'cursor \' обязательна, за исключением агрегирования с
объяснить аргумент ', код: 9, codeName:' FailedToParse '}
Я знаю, что должен иметь возможность добавить элемент 'cursor ()' в определение конвейера (мои ожидаемые возвращаемые данные малы), но я не могу понять правильный синтаксис или найти хороший пример в Интернете, используя Синтаксис узла / мангуста. Мое лучшее предположение - добавить курсор следующим образом:
=============================================== ======
ParticipantActivityLog.aggregate([
{ $match: {
"$and": [
{logDate :{$gte : new Date(postDataObj.strtDt),$lt : new Date(postDataObj.endDt)}},
{invitationId : {$in: postDataObj.invIds}}
]
}
},
{ "$sort": {logDate: 1 }},
{ $group: {
_id: {
"invitationId":'$invitationId',
"milestoneId":'$milestoneId',
"activityId": '$activityId'
},
invitationId : { $first : '$invitationId'},
milestoneId : { $first : '$milestoneId'},
activityId : { $first : '$activityId'},
activityName : { $first : '$activityName'},
logDate: {$first:'$logDate'},
frequency1 : {$first: '$frequency1'},
count: { $sum: 1 }
}} ],
{$cursor:{}}
).exec(function(err, result){
if(err){
console.log(err);
return;
}
return res.jsonp(result); });
=============================================== ======
Это выдает следующую ошибку ...
Ошибка: аргументы должны быть агрегированными конвейерными операторами
... поэтому я предполагаю, что синтаксис добавленного элемента курсора как-то неверен?