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