sql >> Database >  >> NoSQL >> MongoDB

Hoe mangoeste te onderscheiden, over te slaan en samen te beperken?

Dat doe je niet. .distinct() is een methode die een "array" retourneert en daarom kunt u iets dat geen "cursor" is niet wijzigen met "cursormodifiers" zoals .limit() en .skip() .

Wat je wilt is de .aggregate() methode. Veel meer dan alleen dingen optellen:

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

Het aggregatieraamwerk biedt een andere manier om "verschillende" resultaten te bereiken. Maar dan op een flexibelere manier. Zie de operators voor $group , $skip en $limit .




  1. Mongodump van externe server

  2. MongoDB-schema voor het opslaan van gebruikerslocatiegeschiedenis

  3. mongodb-invoeging toont 'strings in documenten moeten geldige UTF-8 zijn'

  4. Hoe kan ik een document voorwaardelijk upsereren in Mongo?