sql >> Database teknologi >  >> NoSQL >> MongoDB

Mongoose - sorter kun dato efter datodel, ignorerer tid

Du kan prøve nedenstående aggregering i 3.6 for tilpasset sortering.

Brug $dateFromParts at beregne dato uden tid i $addFields at beholde den beregnede værdi som det ekstra felt i dokumentet efterfulgt af $sort sorter på felt.

$project med udelukkelse for at droppe sorteringsfeltet for at få forventet output.

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


  1. Mongoose - Versionsfejl:Intet matchende dokument fundet for id

  2. Kan redis-nøglepladsmeddelelser skubbes til redis-strømmen i stedet for pub/underkanal

  3. RuntimeError:-ERR Ukendt kommando, der kører redis gem på Ruby

  4. Hvordan kan jeg udføre en JS-scriptfil fra Pymongo?