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

Hvordan bruger man mongoose distinkt, spring over og begrænser sammen

Det gør man ikke. .distinct() er en metode, der returnerer et "array", og derfor kan du ikke ændre noget, der ikke er en "Cursor" med "cursor modifiers" såsom .limit() og .skip() .

Det, du ønsker, er .aggregate() metode. Meget mere end blot at lægge ting sammen:

MyModel.aggregate(
    [
        { "$group": { "_id": "$blaster" } },
        { "$skip": ( page-1 ) * 15 },
        { "$limit": 15 }
    ],
    function(err,results) {
       // results skipped and limited in here
    }
);

Aggregeringsrammen giver en anden måde at opnå "særskilte" resultater. Men på en mere fleksibel måde. Se operatørerne for $group , $skip og $limit .




  1. Sammenlægning af to samlinger i MongoDB

  2. LuaSocket, Lua 5.2 og Redis

  3. mongoose:Sådan indsætter du et enkelt underdokument - ikke et array

  4. Ødelæggelse/fjernelse af en Queue() i Redis Queue (rq) programmatisk