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

193
Vistas
MongoDB: ¿hay alguna forma de realizar $set en un hash sin sobrescribir valores/claves existentes/sin referencia?

Digamos que tengo un documento como este:

 { _id: "12345", hash_field: { "foo": "bar" } }

Y en algún momento, sin saber cuál es el valor del hash_field de este documento, necesito agregarle más pares clave/valor mientras dejo intacto el actual. Estoy buscando una manera de hacer esto sin borrar los datos existentes y sin tener que hacer varias actualizaciones anidadas.

 db.myCollection.updateOne({_id:"12345"}, {'$set': { hash_field: { "key1": "value1", "key2": "value2" } } })

Lo anterior borrará el {"foo":"bar"} .

Sé que puedo hacer dos llamadas $set separadas con '$set': {"hash_field.key1": "value1"} y '$set': {"hash_field.key2": "value2"} pero estoy buscando una forma de hacer esto en una actualización de mongo. ¿Posible?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Usa $mergeObjects .

 db.collection.update({ _id: "12345" }, [ { "$set": { hash_field: { $mergeObjects: [ "$hash_field", { "key1": "value1", "key2": "value2" } ] } } } ])

parque infantil mongo

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