sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cómo agregar por fecha cuando se proporciona una marca de tiempo completa en el marco de agregación?

Puede hacerlo utilizando los siguientes operadores de agregación:

  • $grupo
  • $año
  • $mes
  • $díaDelMes

Esto le da el recuento de errores para cada fecha:

db.errors.aggregate(
    { $group : {
        _id: {
            year : { $year : "$date" },        
            month : { $month : "$date" },        
            day : { $dayOfMonth : "$date" },
        },
        count: { $sum: 1 }
    }}
);

Este ejemplo asume que el campo de fecha en sus documentos de error es date y de tipo BSON Date. También hay un tipo de marca de tiempo en MongoDB, pero la documentación desaconseja explícitamente el uso de este tipo:

Nota:El tipo de marca de tiempo BSON es para uso interno de MongoDB. En la mayoría de los casos, en el desarrollo de aplicaciones, querrá utilizar el tipo de fecha BSON. Consulte Fecha para obtener más información.