Mongo aggregation with paginated data and totals

前端 未结 3 1256
日久生厌
日久生厌 2020-12-28 11:00

I\'ve crawled all over stack overflow, and have not found any info on how to return proper pagination data included in the resultset.

I\'m trying to aggregate some

3条回答
  •  粉色の甜心
    2020-12-28 11:27

    Did this in two steps instead of one:

    // Get the totals
    db.mongoAuditEvent.aggregate([{$group: {_id: "$corrId"}}, {$group: {_id: 1, total: {$sum: 1}}}]);
    
    // Get the data
    db.mongoAuditEvent.aggregate([
      {$group: {
        _id : "$corrId", 
        currentEvent: {"$last": "$event.status"}, 
        "events": { $push: "$$ROOT"}
      }},
      {$sort: {"events.timestamp": -1} }, // Latest first
      {$skip: 0 },
      {$limit: 10}
    ], {allowDiskUse: true}).pretty();
    

    I would be very happy if anybody got a better solution to this though.

提交回复
热议问题