mongo $ slice consulta índice reverso fora do intervalo

A seguinte consulta no mongo, comporta-se estranha:

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

Primeiro: em vez de retornar um objeto apenas com as teclas ["_id", "List"], ele retorna um objeto completo.

Segundo: seskip é negativo e|skip| é maior que list.length, em seguida, ele retorna os três primeiros elementos como seskip==0

Eu esperaria por:

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

inquerir:

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

para obter:

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

em vez disso, recebo:

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

Por quê?

Eu uso o mongoDB 2.4.10

questionAnswers(2)

yourAnswerToTheQuestion