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

Mongoose:ordene la fecha solo por la parte de la fecha, ignorando la hora

Puede probar la siguiente agregación en 3.6 para una ordenación personalizada.

Use $dateFromParts para calcular la fecha sin hora en $addFields para mantener el valor calculado como campo extra en el documento seguido de $sort ordenar por campo.

$project con exclusión para soltar el campo de clasificación para obtener el resultado esperado.

db.col.aggregate([
 {"$addFields":{
   "date":{
     "$dateFromParts":{
       "year":{"$year":"$datetime"},
       "month":{"$month":"$datetime"},
       "day":{"$dayOfMonth":"$datetime"}
      }
    }
 }}, 
 {"$sort":{"date":-1,"priority":1}},
 {"$project":{"date":0}}
])