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

Mongo Aggregation

Giả sử bạn đã cài đặt phiên bản mongodb mới nhất, một cách thực hiện là:

  • Sort các bản ghi dựa trên published_date theo thứ tự giảm dần.
  • group các bản ghi dựa trên category của chúng . Đối với mỗi nhóm, hãy thu thập tất cả các bản ghi lại với nhau trong một mảng.
  • Trong mã phía máy khách / javascript, slice 5 bản ghi hàng đầu của mỗi nhóm (danh mục).

$slice không khả dụng ở phía máy chủ $project nhà điều hành đường ống tổng hợp, ngăn chúng tôi thực hiện hoạt động ở phía máy chủ.

var result = db.collection.aggregate(
[
{$sort:{"published_date":-1}},
{$group:{"_id":"$category","values":{$push:"$$ROOT"}}}
]
).map(function(doc){
return {"category":doc._id,"records":doc.values.slice(0,5)};
});

Kết quả result biến bây giờ sẽ là một mảng tài liệu. Mỗi tài liệu đại diện cho mỗi category và lần lượt có một mảng 5 hàng đầu hồ sơ.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm thế nào để chuyển tiền với MongoDB?

  2. Tổng quan về Percona Backup cho MongoDB

  3. Các trường hợp sử dụng cho updateOne over findOneAndUpdate trong MongoDB

  4. Tạo Tổng hợp dữ liệu mùa xuân từ truy vấn tổng hợp MongoDb

  5. Mongodb Mapreduce báo lỗi