обратный индекс запроса монго $ 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