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

702
Visualizações
Actualizar un campo solo si existe en MongoDB

Tengo un documento en la colección testcol en MongoDB como este:

 { _id:111, "xxx":"aaa", "yyy":"bbb" }

Quiero actualizar el campo yyy en el documento, si se encuentra el campo, actualícelo y si no se encuentra, no haga nada.

Cuando ejecuto mi comando de actualización mongo db como db.testcol.update({_id:0},{$set:{"zzz":"ccc"}},{upsert: false}) . Intencionalmente di el campo como "zzz" en el comando de actualización para que no haga nada. Pero cuando ejecuto el comando de actualización anterior, insertó el nuevo campo "zzz" en el documento anterior, aunque upsert se dio como falso. Sé que upsert no insertará/insertará documento y no campo, pero como soy nuevo en MongoDB, solo lo estaba intentando. ¿Alguien puede decirme cómo abordar este problema?

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

0

Puede usar el operador $exists en su consulta para hacer coincidir el documento solo si el campo yyy está presente:

 db.testcol.update({_id: 111, yyy: {$exists: true}}, {$set: {yyy: 'ccc'}})
over 4 years ago · Santiago Trujillo Relatório

0

Estás usando upsert mal. Consulte los documentos de mongo aquí

Si upsert es verdadero y ningún documento coincide con los criterios de consulta, update() inserta un solo documento. La actualización crea el nuevo documento. Si upsert es verdadero y hay documentos que coinciden con los criterios de consulta, update() realiza una actualización.

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