sql >> Databáze >  >> NoSQL >> MongoDB

Problém s duplikací Mongo DB při používání třídění s limitem a přeskočením v agregaci

Podle údajů o sbírce se řadíte podle klíče se společnými hodnotami.

V první agregaci agregace, kterou používáte (skip,limit) => (0,4) v tomto případě mongo seřadí dokumenty podle pořadí od všech dokumentů a výsledek je setříděn.

V druhé agregaci opět používáte (skip,limit) => (4,4) v tomto případě mongo třídí dokumenty ze všech dokumentů, kde mohou být dokumenty duplikovány a přitom mají stejnou hodnotu v klíči.

Takže po seřazení podle vašich dat byste měli svá data seřadit podle libovolného jedinečného klíče (buď ‚_id‘ nebo ‚name‘), jak si přejete.Poznámka:klíč by měl být jedinečný

něco jako níže

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



  1. Poddokument pro aktualizaci ovladače MongoDB Java

  2. Čtení dat z MongoDB (gridfs) přes Matlab a ovladač Java

  3. seskupit podle dat v mongodb

  4. Blokovat přístup ke klíči Redis (ServiceStack)