За вашия проблем ви трябва $slice
оператор на проекция вместо limit
. Последното ограничава броя на документите върнат в резултат на заявката. Вместо това, $slice
е предназначен точно за това, от което се нуждаете.
Ето пример как да го използвате във вашия случай на употреба:
> db.getCollection('people').find({id: 2}, {_id: 0, animals: {$slice: [0, 3]}})
{
"id" : 2,
"name" : "Rob",
"animals" : [
"shark",
"snake",
"fish"
]
}