sql >> Database teknologi >  >> NoSQL >> MongoDB

Mongoose Aggregate:begræns antallet af poster i $gruppe

Du kan bruge $first for at tage værdier fra det første dokument i hver gruppe i en sorteret pipeline:

var allids = ['xxxxx','yyyy'];
Game.aggregate([
    {$match: {'oid': {$in:allids}}},
    {$sort: {'number_plays': -1}},
    {$group: {
        _id: '$oid', 
        game_name: {$first: "$game_name"}, 
        game_id: {$first: "$game_id"}, 
        number_plays: {$first:"$number_plays"}
    }}
], function(err,list){
    console.log(list);
    res.end();
});

Fordi du har sorteret på number_plays faldende i det foregående trin af pipelinen, vil dette tage værdierne fra hver oid gruppens dokument med det højeste number_plays .




  1. Har Pymongo valideringsregler indbygget?

  2. Er det muligt, at mongodbs $project returnerer et array?

  3. Kan ikke oprette forbindelse til MongoDB atlas-database

  4. systemctl blev ikke fundet under opbygning af mongo-billede