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

tìm và đếm trong một truy vấn mongodb

Đây là một công việc hoàn hảo cho khung tổng hợp.

db.course.aggregate(
    [
        { "$sort": { "created_at": -1 }},
        { "$group": {
            "_id": null, 
            "docs": { "$push": "$$ROOT" }, 
            "count": { "$sum": 1 }
        }},
        { "$project": { "_id": 0, "count": 1, "docs": { "$slice": [ "$docs", 5 ] } }}
    ]
)

Nếu máy chủ MongoDB của bạn không hỗ trợ $slice thì bạn cần phải sử dụng cách tiếp cận xấu và không hiệu quả.

db.course.aggregate(
    [
        { "$sort": { "created_at": -1 }},
        { "$group": {
            "_id": null, 
            "docs": { "$push": "$$ROOT" }, 
            "count": { "$sum": 1 }
        }},
        { "$unwind": "$docs" },
        { "$limit": 5 }
    ]
)


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Kiểm tra kết nối trình điều khiển mongodb PHP

  2. Cập nhật Nhiều nếu tồn tại, nếu không, hãy tạo cho mỗi LeadId không tồn tại một Tài liệu mới

  3. Làm cách nào để hạn chế các giá trị bằng cách sử dụng kiểu dữ liệu Hỗn hợp trong Mongoose?

  4. Cách trả lại tài liệu nhúng push () cuối cùng

  5. Toán tử truy vấn MongoDB $ type