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