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

Problema de duplicação do Mongo DB ao usar a classificação com limite e pular na agregação


De acordo com seus dados de coleta, você está classificando por chave com valores comuns.

Na primeira agregação de agregação que você está usando (skip,limit) => (0,4) neste caso o mongo está classificando os documentos em ordem de todos os documentos e o resultado é classificado.

Na segunda agregação você está usando novamente (skip,limit) => (4,4) neste caso o mongo está classificando os documentos de todo o documento onde os documentos podem ser duplicados enquanto têm o mesmo valor na chave.

Então, depois de classificar seus dados, você deve classificar seus dados com qualquer chave exclusiva ('_id' ou 'name') conforme desejar.

algo como abaixo
db.testing.aggregate([
    {
        $sort : { 
          "percentage": -1,
          "_id" : 1
        },
    },
    {
        $skip : 0
    },
    {
        $limit:4
    }
]);