MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Impaginazione a intervalli durante le query e l'ordinamento su campi dinamici e non univoci in mongodb

Puoi ottenere un'impaginazione a intervalli ordinando su un campo univoco e salvando il valore di quel campo per l'ultimo risultato. Ad esempio:

// first page
var page = db.words.find({
    score:{$lt:10},
    word:{$gt:"FOO"}
}).sort({"_id":1}).limit(pp);

// Get the _id from the last result
var page_results = page.toArray();
var last_id = page_results[page_results.length-1]._id;

// Use last_id to get your next page
var next_page = db.words.find({
    score:{$lt:10},
    word:{$gt:"FOO"},
    _id:{$gt:last_id}
}).sort({"_id":1}).limit(pp);