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

265
Vistas
MongoDB escribe un atributo del documento en la colección

Actualmente estoy trabajando en un proyecto que guarda datos regularmente en una base de datos MongoDB. En esta base de datos tengo varios elementos y cada documento contiene la fecha.

Problemático

Los documentos contienen un tipo incorrecto para el atributo de fecha. ingrese la descripción de la imagen aquí Es por una mala inserción, todos los documentos tienen una fecha en formato de cadena. Puedo actualizar cada atributo con la interfaz gráfica de MongoDB Atlas, pero esta solución es demasiado larga.

Pregunta

Quería saber si en MongoDB tenemos una solución para actualizar el tipo de un atributo en todos los documentos de una colección.

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

0

Si entiendo bien, puedes probar estos:

 db.collection.aggregate([ { "$addFields": { "date": { "$toDate": "$date" } } } ])

 db.collection.aggregate([ { "$addFields": { "date": { "$convert": { "input": "$date", "to": "date" } } } } ])

 db.collection.aggregate([ { "$addFields": { "date": { "$dateFromString": { "dateString": "$date", "format": "%m-%d-%Y" } } } } ])

 var bulkOps = []; var cursor = db.collection.find({}); cursor.forEach(function (doc) { var newDate = new ISODate(doc.date); bulkOps.push( { "updateOne": { "filter": { "_id": doc._id }, "update": { "$set": { "date": newDate } } } } ); }); if (bulkOps.length > 0) { db.collection.bulkWrite(bulkOps); }
over 4 years ago · Santiago Trujillo Denunciar

0

Para su caso, la solución más simple es usar $toDate en una actualización con canalización de agregación

 db.collection.update({}, [ { "$addFields": { "date": { "$toDate": "$date" } } } ])

Aquí está el parque infantil de Mongo para su referencia.

Si necesita atender con otro formato de fecha, puede usar $dateFromString .

 db.collection.update({}, [ { "$addFields": { "date": { "$dateFromString": { "dateString": "$date", "format": <your format here> } } } } ])

Puede consultar esta documentación oficial en $dateFromString con respecto al analizador de formato.

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