Ho familiarità con la best practice di range based pagination su grandi raccolte MongoDB, tuttavia sto cercando di capire come impaginare una raccolta in cui il valore di ordinamento si trova su un campo non univoco.MongoDB - Impaginazione basata su campi non univoci
Ad esempio, ho una vasta collezione di utenti e c'è un campo per il numero di volte in cui hanno fatto qualcosa. Questo campo è decisamente non unico e potrebbe contenere grandi gruppi di documenti con lo stesso valore.
Desidero restituire i risultati ordinati in base al campo "numTimesDoneSomething".
Qui è un insieme di dati di esempio:
{_id: ObjectId("50c480d81ff137e805000003"), numTimesDoneSomething: 12}
{_id: ObjectId("50c480d81ff137e805000005"), numTimesDoneSomething: 9}
{_id: ObjectId("50c480d81ff137e805000006"), numTimesDoneSomething: 7}
{_id: ObjectId("50c480d81ff137e805000007"), numTimesDoneSomething: 1}
{_id: ObjectId("50c480d81ff137e805000002"), numTimesDoneSomething: 15}
{_id: ObjectId("50c480d81ff137e805000008"), numTimesDoneSomething: 1}
{_id: ObjectId("50c480d81ff137e805000009"), numTimesDoneSomething: 1}
{_id: ObjectId("50c480d81ff137e805000004"), numTimesDoneSomething: 12}
{_id: ObjectId("50c480d81ff137e805000010"), numTimesDoneSomething: 1}
{_id: ObjectId("50c480d81ff137e805000011"), numTimesDoneSomething: 1}
Come faccio a restituire questo insieme di dati ordinati da 'numTimesDoneSomething' con 2 record per pagina?
Non 'troverà ({_ id: last_id})' mi restituirà solo un singolo record? La query di ricerca –
deve essere maggiore di last_id, non è vero? La tua soluzione copre anche il caso di nuovi inserimenti +1 per quello =) – cubbuk
@cubbuk Oh sì vero lol :) – Sammaye