使用MongoDB中的偏移量查询子文档

时间:2012-08-12 15:22:36

标签: mongodb mongodb-query

鉴于以下数据:

{
  _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)需要是一个正整数。

1 个答案:

答案 0 :(得分:2)

它不是非常优雅,但只是提供足够大的限制值,实际上不是限制:

db.users.findOne({ _id: '123' }, { friends: { $slice: [2,1000000000] } })