У меня есть такая схема.Получите часть списка эффективно с Mongoose
peopleSchema = Schema({
followerRefs: {
type: [
{ type: Schema.Types.ObjectId, ref: 'peoples'}
],
select: false
},
followRefs: {
type: [
{ type: Schema.Types.ObjectId, ref: 'peoples'}
],
select: false
}
});
Каждый раз, я просто хочу выбрать часть followerRefs или followRefs. Например, я хочу реализовать пейджинг, поэтому я просто хочу выбрать первые 20 в followRefs или первые 21 ~ 40 в followRefs.
Итак, есть ли способ получить часть followerRefs с выбором всего списка?
Похоже, я не ясно объяснил свой вопрос. Я предполагаю, что в базе данных followerRefs есть более миллиона объектов, и я просто хочу получить первые 20 из них, а это значит, что я просто хочу получить индекс 0 ~ 19 из них. Поэтому я не хочу загружать весь миллион объекта в память.
Так что мне интересно, есть ли способ получить первые 20 сущностей без загрузки всех из них?
это отличается от того, что было предложено и ответил здесь: http://stackoverflow.com/questions/5539955/how-to-paginate-with-mongoose-in-node-js –
Немного отличается. В этом вопросе автор хочет найти много разных документов и ограничить количество документов. Но в моем случае я уже получил документ с одним человеком, и я хочу ограничить атрибут списка документа people. Спасибо, в любом случае! –