Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

604
Visualizações
How can i fix this mongodb error?: MongoError: The dollar ($) prefixed field '$cond' in 'energy.$cond' is not valid for storage

I get this error when i try to use the following code for mongoDB:

var updateDoc = {
    $set: { 
        energy: { 
            $cond: { 
                if: { $gt: [ { $add: [ "$energy", 20 ] }, 100 ] }, 
                then: 100, 
                else: { $add: [ "$energy", 20 ] } 
            } 
        } 
    }
  }

How can i fix this problem?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

$cond is a aggregation operator, update can't allow that operator in this simple query,

Look at the update with aggregation pipeline starting from MongoDB v4.2,

You just need to wrap updateDoc object in to array,

var updateDoc = [
  {
    $set: {
      energy: {
        $cond: {
          if: { $gt: [{ $add: ["$energy", 20] }, 100] },
          then: 100,
          else: { $add: ["$energy", 20] }
        }
      }
    }
  }
]

Playground

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda