MongoDB $slice (подкачка встроенного массива)

У меня есть эта схема :

article: {
    subject,
    comments: []
}

, если у меня есть 8 комментариев, и запрос

 article.find({}, {
     comments: {
         $slice: [ -10, 5 ]
     }
 });

И я получаю комментарии от индекса 0 до индекса 4,
но я хочу, чтобы комментарии от индекса 0 до индекса 2 возвращались только из-за подкачки.
(страница 1 $slice[ -5, 5 ] с индекса 3 на индекс 7, страница 2 $slice[ -10, 5 ] с индекса 0 на индекс 2)

теперь мне нужно передать еще один параметр «lastId», чтобы сравнить каждый комментарий и удалить этот «_id» < «lastId», но я думаю, что это немного хакерски.

У кого-нибудь есть хорошее решение для этого?

6
задан Community 22 September 2017 в 18:01
поделиться