обратный индекс запроса монго $ slice вне диапазона

Следующий запрос на монго ведет себя странно:

db.items.findOne({},{ "List": { "$slice": [ skip, 3 ] }})

Первое: вместо того, чтобы возвращать один объект только с ключами ["_id", "List"], он возвращает полный объект.

Второе: еслиskip отрицательно и|skip| больше, чем list.length, то возвращает первые три элемента, как если быskip==0

Я ожидал бы для:

{
       "_id" : ObjectId("542babf265f5de9a0d5c2928"),
       "List" : [
                1,
                2,
                3,
                4,
                5
        ]
        "other" : "not_important"
}

запрос:

db.items.findOne({},{ "List": { "$slice": [-10, 3 ] }})

получить:

{
       "_id" : ObjectId("542babf265f5de9a0d5c2928"),
       "List" : []
}

вместо этого я получаю:

{
       "_id" : ObjectId("542babf265f5de9a0d5c2928"),
       "List" : [
                1,
                2,
                3
        ]
        "other" : "not_important"
}

Зачем?

Я использую MongoDB 2.4.10

Ответы на вопрос(2)

Ваш ответ на вопрос