MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Mongoose - sortuj datę według tylko części daty, ignorując czas

Możesz spróbować poniższej agregacji w 3.6 dla niestandardowego sortowania.

Użyj $dateFromParts aby obliczyć datę bez czasu w $addFields aby zachować obliczoną wartość jako dodatkowe pole w dokumencie, po którym następuje $sortuj sortuj według pola.

$project z wykluczeniem, aby upuścić pole sortowania, aby uzyskać oczekiwany wynik.

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. Dlaczego otrzymuję pymongo.cursor.Cursor, gdy próbuję wysłać zapytanie do bazy danych mongodb za pośrednictwem pymongo?

  2. mangusta wyraźna i wypełniona dokumentami

  3. MongoDB na Vagrant przez problem z przekierowaniem portów

  4. Nieudana agregacja na Tornado/Motor:otrzymano nieznany obiekt MotorAggregationCursor

  5. MongoCursorException — nie znaleziono kursora (sterownik MongoDB PHP)