tengo objetos almacenados en db como:
[ { "created_at" : ISODate("2020-03-19T07:27:32.158Z"), }, { "created_at" : ISODate("2020-03-19T12:10:19.191Z"), } ]Me gustaría encontrar datos por created_at (que comienzan con) como autocompletar: 25... , 25/01... , 25/01/202...
Tengo una fecha de entrada en la que puedo obtener datos en el formato: 25/01/2021 : dd/mm/yyyy .
el resultado puede ser 25 o 25/0 ,
en este caso, necesito encontrar datos que created_at : start with 25/0
es como el método: $regex: "^" + date pero con fechas
Un ejemplo de canalización de agregación que usa $dateToString para convertirlo en tiempo de ejecución. Puede ser bastante costoso en colecciones grandes, ya que procesa todos los documentos en cada solicitud y no puede usar un índice.
db.collection.aggregate([ { "$addFields": { "created_at_str": { $dateToString: { date: "$created_at", format: "%d/%m/%Y" } } } }, { "$match": { "created_at_str": { $regex: "^" + date } } }, { "$project": { "created_at_str": 0 } } ])Un ejemplo para jugar con https://mongoplayground.net/p/zXJbsUnli3L