sql >> Databasteknik >  >> NoSQL >> MongoDB

Paginering på array lagrad i ett dokumentfält

För ditt problem behöver du $slice projektionsoperator istället för limit . Det senare begränsar antalet dokument returneras som ett resultat av frågan. Istället $slice operatören är avsedd för precis det du behöver.

Här är ett exempel på hur du använder det i ditt användningsfall:

> db.getCollection('people').find({id: 2}, {_id: 0, animals: {$slice: [0, 3]}})
{
    "id" : 2,
    "name" : "Rob",
    "animals" : [
        "shark",
        "snake",
        "fish"
    ]
}



  1. MongoDB geo avstånd/radie till användbara enheter

  2. Kan inte hitta dokument som söker med ObjectId med Mongoose

  3. Sortering efter maximalt matrisfält, stigande eller fallande

  4. MongoDB får executionStats för aggregerad fråga