sql >> Base de Datos >  >> NoSQL >> MongoDB

MongoDB agregado () - error TypeError:no se puede llamar al método 'forEach' de indefinido

Debe ejecutarlo sin el result acceso variable. El cursor devuelto por mongodb cuando se accede en el shell , no tiene una propiedad llamada result y por lo tanto obtienes el error.

db.contracts.aggregate([
  { $match: { regionCode: '77' } },
  { $unwind: '$products' },
  { 
    $project: {  
      _id: '$_id',
      regNum: '$regNum',  
      prodName: '$products.name',  
      prodPrice: '$products.price'
    }
  },
  { $match: { 'prodName' : 'Water' } }
], {cursor:{}}).forEach(printjson);