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

Mongodb:Вземете документи, сортирани по динамично класиране

Нов съм в Mongodb и рамките за агрегиране, но имам предвид отговора Tim B даде Измислих това:

db.coll.aggregate(
      { $project : {
                     "ranking" : { 
                                  "$divide" : ["$score", {"$subtract":[new Date(), "$updated"]}]
                                 }
                   }
      },
      { $sort : {"ranking" : 1}})

Използване на $project можете да преоформите документи, за да вмъкнете предварително изчислени стойности, във вашия случай полето за класиране. След това с помощта на $sort можете да сортирате документите по ранг в реда, който желаете, като посочите 1 за възходящ ред или -1 за низходящ.

Съжалявам за ужасното форматиране на кода, опитах се да го направя възможно най-четлив.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb сървърът не се стартира след промяна на dbpath

  2. Добавяне на поле към съществуващ MongoDB документ (с Mongoose в Node.js)

  3. Как да се свържете с MongoDB, работещ в Docker контейнер?

  4. Връзка на SSL сокет на приложението Django към фърмуера

  5. SailsJS &MongoDB Проблеми с Framework Aggregation с персонализирани заявки