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"
]
}