A rengeteg kimenet egyetlen oldalon való megjelenítése fejfájást okoz, igaz? Ráadásul az összes adat egyszeri betöltése lelassítja a teljesítményt…

Nos, az oldalszámozás mindig a legjobb megoldás… És a mongoose-paginate-v2-vel ez nagyon egyszerű

Egyszerűen kezdje a modul telepítésével, majd használja a sémában.

const mongoose         = require('mongoose');
const mongoosePaginate = require('mongoose-paginate-v2');
const mySchema = new mongoose.Schema({
/* your schema definition */
});
mySchema.plugin(mongoosePaginate);
var myModel = mongoose.model('log',  mySchema);

Most már beillesztheti a .paginate({}, options)-ot az expressz kódjába

app.get('/logs', (req, res) => {
const {page} = req.query;
const options = {
page: parseInt(page, 10) || 1,
limit: 15
}
logs.paginate({}, options).then((results, err) => {
if(!err){
//Pass the totalpages number to pug along with the result
res.render('audit-log', {testObj: results.docs, page_count: results.totalPages})
}
})
})

Az opciók paraméterét igény szerint módosíthatja

Most a mopszfájlban egyszerűen adja meg az alábbi kódot

.container
ul.pagination
while n < page_count+1
li
a(href="?page="+n)=n++

Így kezelheti a dinamikus oldalszámozást webhelyén.