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

Làm thế nào để sử dụng tập hợp MongoDB để phân trang?

Để tính tổng số trả về một tập hợp con, bạn cần áp dụng nhóm và bỏ qua / giới hạn cho cùng một tập dữ liệu. Vì vậy, bạn có thể sử dụng các khía cạnh

Ví dụ:hiển thị trang thứ 3, 10 tài liệu mỗi trang:

db.Order.aggregate([
    { '$match'    : { "company_id" : ObjectId("54c0...") } },
    { '$sort'     : { 'order_number' : -1 } },
    { '$facet'    : {
        metadata: [ { $count: "total" }, { $addFields: { page: NumberInt(3) } } ],
        data: [ { $skip: 20 }, { $limit: 10 } ] // add projection here wish you re-shape the docs
    } }
] )

Nó sẽ trả về một tài liệu duy nhất có 2 trường:

{
    "metadata" : [ 
        {
            "total" : 300,
            "page" : 3
        }
    ],
    "data" : [ 
        {
            ... original document ...
        }, 
        {
            ... another document ...
        }, 
        {
            ... etc up to 10 docs ...
        }
    ]
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tổng quan về Công cụ lưu trữ WiredTiger cho MongoDB

  2. Chèn dữ liệu vào mảng lồng nhau trong mongodb

  3. MongoDB $ chia

  4. Giới thiệu Biểu đồ tra cứu trong MongoDB

  5. MongoDB C # Truy vấn cho 'Thích' trên chuỗi