MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Mongoose - сортиране на дата само по част от датата, игнориране на времето

Можете да опитате по-долу агрегиране в 3.6 за персонализирано сортиране.

Използвайте $dateFromParts за изчисляване на дата без време в $addFields за да запазите изчислената стойност като допълнително поле в документа, последвано от $sort сортиране по поле.

$project с изключване, за да изпуснете полето за сортиране, за да получите очаквания резултат.

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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongo DB Design, вграждане срещу връзки

  2. Ефективно запитване към MongoDB (чрез pymongo) при нечувствителни към главни и малки букви

  3. RoR:Mongoid и форма създават хеш

  4. Актуализиране на голям брой записи в колекция

  5. Грешка при инсталиране на mongo драйвер за PHP на amazon linux