Estoy tratando de ejecutar la siguiente consulta en el último servidor mongo 3.4.1 y el shell 3.4.1.
db.dealer.aggregate( [ {$match:{salesAreaId:{$in:[ObjectId("5858d03ec5109a098c854802")]}}}, {$lookup:{ from:"outstanding", localField:"_id", foreignField:"dealer_id", as:"outstandings" }}, {$filter:{ input:"$outstandings", as:"outstandings", cond:{ $is:{"$$outstandings.finalized":false} } }} ] )pero dice
Error: command failed: { "ok" : 0, "errmsg" : "Unrecognized pipeline stage name: '$filter'", "code" : 40324, "codeName" : "Location40324" } : aggregate failed : _getErrorWithCode@src/mongo/shell/utils.js:23:13 doassert@src/mongo/shell/assert.js:13:14 assert.commandWorked@src/mongo/shell/assert.js:266:5 DBCollection.prototype.aggregate@src/mongo/shell/collection.js:1215:5 @(shell):1:1 De acuerdo con la documentación, $filter es compatible desde v3.2 en adelante. Alguna ayuda.
Reemplace el siguiente código
db.dealer.aggregate( [ {$match:{salesAreaId:{$in:[ObjectId("5858d03ec5109a098c854802")]}}}, {$lookup:{ from:"outstanding", localField:"_id", foreignField:"dealer_id", as:"outstandings" }}, {$project:{ outstandings:{$filter:{ input:"$outstandings", as:"outstandings", cond:{ $is:{"$$outstandings.finalized":false} } } } } } ])