¿Cómo convertir de cadena a tipo de datos de fecha?

enter image description here

Estoy cargando datos de un archivo csv a MongoDB. Está tomando OrderDate como tipo de datos de cadena debido a los problemas que enfrenta al crear informes utilizando una herramienta de BI. Tengo alrededor de 10000 registros en mi colección.

¿Alguien me puede ayudar cómo puedo cambiar los datos Tipo de OrderDate de OrderDate hasta la fecha con una sola consulta?

No creo que pueda cambiar el tipo de campo con una sola consulta. La forma más fácil es convertir cadenas de datos en formato de Date usando la función ISODate durante la inserción. Pero, si desea procesar los datos que ya ha insertado, puede hacerlo con el siguiente código usando mongodb console:

 db.collection.find().forEach(function(element){ element.OrderDate = ISODate(element.OrderDate); db.collection.save(element); }) 

Este código procesará cada elemento en su colección de collection y cambiará el tipo de campo Date de Orderdate de String a Date .

 db.messages.find().forEach(function(doc) { doc.headers.datestamp = new Date(Date.parse(doc.headers.Date.toString())); db.messages.save(doc); }) 

Esto funcionó bien para convertir este tipo de texto: martes, 14 de noviembre de 2007 03:22:00 -0800 (PST)

El texto proviene de un archivo de correo electrónico conocido como Enron Corpus.