Estoy tratando de crear una canalización agregada con múltiples coincidencias, pero no estoy seguro de cómo hacerlo.
Esto es lo que estoy intentando:
const pipeline = [ { match: { oomId: oomId, holes: 0, collectPutts: true } }, { group: { objectId: '$userId', puttsPlayed: { $sum: 1 }, puts: {$sum: '$puts'}, gir: {$sum: '$gir'}, girHcp: {$sum: '$girHcp'} } }, { match: { oomId: oomId, holes: 0, collectHits: true } }, { group: { objectId: '$userId', hits: {$sum: '$hit'}, holesHit: {$sum: '$holesToHit'} } }, { match: { oomId: oomId, holes: 0 }, { group: { objectId: '$userId', totalPlayed: { $sum: 1 }, points: {$sum: '$points'}, strokes: {$sum: '$strokes'} } }, { project:{ played: '$totalPlayed', puttsPlayed: '$puttsPlayed', puts: {$divide: ['$puts', '$puttsPlayed']}, gir: {$divide: ['$gir', '$puttsPlayed']}, girHcp: {$divide: ['$girHcp', '$puttsPlayed']}, hits: '$hits', holesHit: '$holesHit', hitsPercentage: { $multiply: [ { $divide: [ "$hits", "$holesHit" ] }, 100 ] }, points: {$divide: ['$points', '$totalPlayed']}, strokes: {$divide: ['$strokes', '$totalPlayed']} }} ];
Recibo este error: Token inesperado '{'
No estoy seguro de dónde está el error, y ¿es posible hacer lo que estoy tratando de hacer? ¿O debo usar 3 tuberías diferentes?
Cualquier ayuda es apreciada... Nuevo para agregar :-/
No cerraste los corchetes después de la tercera etapa $match
. Entonces, en lugar de esto:
{ match: { oomId: oomId, holes: 0 },
Hacer esto:
{ match: { oomId: oomId, holes: 0 } },