给定以下数据:
{
_id: '123',
name: 'Foobar',
friends: [
{ name: 'a' },
{ name: 'b' },
{ name: 'c' },
{ name: 'd' },
{ name: 'e' }
]
}
有没有办法查询MongoDB以返回带有偏移量的friends
列表 - 例如跳过数组中的前两个朋友("a"和"b")并仅返回"c","d"和"e"?
我尝试使用$slice
,但它似乎也需要"限制",例如
db.users.findOne({ _id: '123' }, { friends: { $slice: [2,-1] } })
这是行不通的,因为"limit"(-1
在上面的例子中)需要是一个正整数。
它不是很优雅,但只是提供一个足够大的极限值,实际上不是极限:
db.users.findOne({ _id: '123' }, { friends: { $slice: [2,1000000000] } })