Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

313
Vistas
MongoDB aggregation project with cond not working

I'm getting "MongoServerError: Invalid $project :: caused by :: Unrecognized parameter to $cond: $if" for this code. Whats wrong with it and how do i fix it ?

       {
          $project: {
            _id: 1,
            date: 1,
            slot: 1,
            franchiseId: 1,
            status: 1,
            order: {
              $cond: {
                $if: { $gt: ['$carspa', null] },
                $then: {
                  price: '$carspa.price',
                  mode: '$carspa.mode',
                  address: '$carspa.address',
                  addOn: '$carspa.addOn',
                  service: '$carspa_service.name'
                },
                $else: {
                  $if: { $gt: ['$mechanical', null] },
                  $then: {
                   price: '$mechanical.price',
                   mode: '$mechanical.mode',
                   address: '$mechanical.address',
                   addOn: '$mechanical.addOn',
                   service: '$mechanical_service.name'
                  },
                  $else: {
                    price: '$quickhelp.price',
                    mode: '$quickhelp.mode',
                    address: '$quickhelp.address',
                    addOn: '$quickhelp.addOn',
                    service: '$quickhelp_service.name'
                  }
                },
              },
            },
          }
        }
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Try

{
      $project: {
        _id: 1,
        date: 1,
        slot: 1,
        franchiseId: 1,
        status: 1,
        order: {
          $cond: {
            if: { $gt: ['$carspa', null] },
            then: {
              price: '$carspa.price',
              mode: '$carspa.mode',
              address: '$carspa.address',
              addOn: '$carspa.addOn',
              service: '$carspa_service.name'
            },
            else: {
              if: { $gt: ['$mechanical', null] },
              then: {
               price: '$mechanical.price',
               mode: '$mechanical.mode',
               address: '$mechanical.address',
               addOn: '$mechanical.addOn',
               service: '$mechanical_service.name'
              },
              else: {
                price: '$quickhelp.price',
                mode: '$quickhelp.mode',
                address: '$quickhelp.address',
                addOn: '$quickhelp.addOn',
                service: '$quickhelp_service.name'
              }
            },
          },
        },
      }
    }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda