2017-01-31 2 views
1

структуры документа Монго следующим образом:Списка уровня нумерация страницы в Монго DB

{ 
    "dictID" : "dd001", 
    "dictVersion" : 1, 
    "addMeasures" : 
    [ 
     { 
      "measureId" : "f229ba18", 
      "userId" : "3966C3DD", 
      "created" : "2017-01-07T05:47:22.512Z" 
     }, { 
      "measureId" : "0b701469", 
      "userId" : "3966C3DD", 
      "created" : "2017-01-07T05:47:35.193Z" 
     } , { 
      "measureId" : "f229ba1823", 
      "userId" : "3966C3DD", 
      "created" : "2017-01-07T05:47:22.512Z" 
     }, { 
      "measureId" : "0b7014699", 
      "userId" : "3966C3DD", 
      "created" : "2017-01-07T05:47:35.193Z" 
     } 
    ] 
} 

Мне нужна пагинация для одного документа в списке массива

Ex. В моем документе «addMeasures» есть несколько карт, я хочу разбивать на страницы так, чтобы он дал мне часть «addMeasures», как ограничение 1,2.

ответ

1

Используйте $slice оператор

db.collection.find({}, {dictId: 1, dictVersion: 1, addMeasures: {$slice: [0, 2]}}) 

возвращается:

{ 
    "_id":ObjectId("5890572371cbc5eae2c9535b"), 
    "dictVersion":1, 
    "addMeasures":[ 
     { 
     "measureId":"f229ba18", 
     "userId":"3966C3DD", 
     "created":"2017-01-07T05:47:22.512Z" 
     }, 
     { 
     "measureId":"0b701469", 
     "userId":"3966C3DD", 
     "created":"2017-01-07T05:47:35.193Z" 
     } 
    ] 
} 
+0

хотел бы добавить один можно также использовать кусочек, чтобы получить последние 10 элементов с $ среза: -10. –

+0

Спасибо, он работает. –

Смежные вопросы