MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Mongodb:Nhận tài liệu được sắp xếp theo xếp hạng động

Tôi mới sử dụng Mongodb và các khuôn khổ tổng hợp nhưng đang xem xét câu trả lời Tim B cho tôi nghĩ ra cái này:

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

Sử dụng $ project bạn có thể định hình lại tài liệu để chèn các giá trị được tính toán trước, trong trường hợp của bạn là trường xếp hạng. Sau đó, sử dụng $ sort bạn có thể sắp xếp các tài liệu theo thứ tự theo thứ tự bạn thích bằng cách chỉ định 1 cho tăng dần hoặc -1 cho giảm dần.

Tôi xin lỗi vì định dạng mã tồi tệ, tôi đã cố gắng làm cho nó dễ đọc nhất có thể.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. cách truy vấn các đối tượng con trong mongodb

  2. MongoDB:$ lookup trả về mảng trống

  3. Gọi đến một hàm thành viên all () trên mảng trong laravel

  4. Xây dựng chỉ mục MongoDB - Ngăn người dùng kích hoạt các bản dựng mới

  5. Không thể xác thực trên mongodb bằng PHP