MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Impaginazione su array memorizzato in un campo documento

Per il tuo problema hai bisogno di $slice operatore di proiezione invece di limit . Quest'ultimo limita il numero di documenti restituito come risultato della query. Invece, il $slice operatore è destinato esattamente a ciò di cui hai bisogno.

Ecco un esempio di come usarlo nel tuo caso d'uso:

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