MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como usar o mangusto distinto, pular e limitar juntos


Você não faz isso. .distinct() é um método que retorna um "array" e, portanto, você não pode modificar algo que não seja um "Cursor" com "modificadores de cursor" como .limit() e .skip() .

O que você quer é o .aggregate() método. Muito mais do que apenas somar coisas:
MyModel.aggregate(
    [
        { "$group": { "_id": "$blaster" } },
        { "$skip": ( page-1 ) * 15 },
        { "$limit": 15 }
    ],
    function(err,results) {
       // results skipped and limited in here
    }
);

A estrutura de agregação fornece outra maneira de obter resultados "distintos". Mas de uma forma mais flexível. Veja os operadores para $group , $skip e $limit .