Sórtálann MongoDB torthaí a fhiosrúcháin le sort agus leathanaigh le limit agus skip — ceangailte ar chúrsóir find. Le chéile, baineann siad le hearcadóireachta agus leathanaigh de shonraí a thabhairt ar ais, ríthábhachtach chun torthaí a thaispeáint.
sort — torthaí a ordú
db.users.find().sort({ age: 1 }); // ascending by age (1 = asc)
db.users.find().sort({ age: -1 }); // descending (-1 = desc)
db.users.find().sort({ country: 1, name: 1 }); // by country, then name (tie-break)
db.users.find().sort({ createdAt: -1 }); // newest first (common)
Glacann sort le doiciméad de réimse:treo (1 ardaitheach, -1 íslitheach). Soláthraíonn réimsí iolracha briseadh ceangal.
limit agus skip — leathanaigh
db.users.find().sort({ name: 1 }).limit(10); // first 10 (page 1)
db.users.find().sort({ name: 1 }).skip(10).limit(10); // skip 10, take 10 (page 2)
// page N: .skip((N-1) * pageSize).limit(pageSize)
Ais-thugann limit(n) ar a bhfad n doiciméad; scipeann skip(m) an chéad m. Le chéile, cuireann siad leathanaigh frithsheasamhain i bhfeidhm (leathanach N trí skip + limit).
Sórtáil i gcónaí agus leathanaigh á ndéanamh
// ❌ pagination without sort → inconsistent order (pages may overlap/skip)
db.users.find().skip(10).limit(10);
// ✅ sort by a stable field for consistent pages
db.users.find().sort({ _id: 1 }).skip(10).limit(10);
Gan sort, níl ordú an doiciméid ráthaithe, agus mar sin is féidir le leathanaigh foluain a bheith neamh-chomhsheasmhach. Sórtáil i gcónaí de réir réimse cobhsaí (cosúil le _id) agus leathanaigh á ndéanamh.
skip mall ar dhoimhneacht leathanaigh — úsáid leathanaigh bunaithe ar raon
// ⚠️ skip(1000000) must scan/skip a million docs → slow on deep pages
// ✅ range-based (cursor) pagination — far more efficient for large datasets
db.users.find({ _id: { $gt: lastSeenId } }).sort({ _id: 1 }).limit(10);
// → use the last document's _id to fetch the next page (uses the index, no skipping)
Sórtáil agus innéacsanna
Sorting on an INDEXED field is efficient. Sorting a large result set WITHOUT an index
requires an in-memory sort (limited size — can fail/be slow for big sorts).
→ Index fields you sort by.
Cén fáth go bhfuil sé tábhachtach
Is bunúsach do sonraí a thaispeáint go fóill i MongoDB an sórtáil agus leathanaigh — ordú torthaí agus leathanaigh inmhéadaithe a thabhairt ar ais gur beagnach-choilíonn a bheidh ann (aon liosta, foluain, nó tábla in feidhmchlár), agus mar sin is riachtanach an tuiscint orthu a bheith ann gach lá.
Cumann sort (ordú trí réimsí le 1/-1, le brisceadh ceangail) agus limit/skip (do leathanaigh frithsheasamhain — leathanaigh de shonraí a thabhairt ar ais) an riachtanais choitianta chun torthaí fiosrúcháin a chur i láthair.
Dá phointe praiticiúla is deacair a bheith ina dhiaidh: sórtáil i gcónaí agus leathanaigh á ndéanamh (gan é, níl ordú an doiciméid ráthaithe, rud a fhágann go bhfuil leathanaigh neamh-chomhsheasmhach ann a dhéanann forshío nó scipeadh doiciméad — fíorbhug, an cheist chéanna is atá i SQL), agus a thuiscint go bhfuil skip mall ar dhoimhneacht leathanaigh (ní mór dó scan agus ar fad scipeadh roimhe sín doiciméad) — agus mar sin leathanaigh bunaithe ar raon (cúrsóir) (an deireanach _id le fáil ar an chéad leathanach eile, buntáiste a bhaint as an innéacs gan scipeadh) i bhfad níos éifeachtaí do thacair shonraí mhóra, teicníc feidhmíochta luachmhar.
A bheith ar an eolas go bhfuil sórtáil ar réimsí innéacsaithe éifeachtach agus is féidir le sórtálacha móra neamh-innéacsaithe a bheith mall nó cliseadh (teorainneacha sórtála inmheabhair) is tábhachtach — innéacs réimsí ar a bhfuil sórtáil á dhéanamh acu.
Os rud é go bhfuil sórtáil agus leathanaigh ag teastáil do bharúil aon taispeáint sonraí, agus os rud é go bhfuil an riachtanas chomhsheasmhaíochta (sórtáil do leathanaigh cobhsaí) agus na breithiúchais feidhmíochta (skip vs leathanaigh bunaithe ar raon, sórtálacha innéacsaithe) go díreach ar cheart agus ar luas, a thuiscint MongoDB sórtáil agus leathanaigh — sort, leathanaigh frithsheasamhain le skip/limit, an riachtanas cobhsaí-sórtála, an rogha éifeachtach bunaithe ar raon, agus innéacs réimsí sórtála — is eolas riachtanach, go minic-fheidhmithe chun feidhmchláir a bhogadh a chur i láthair sonraí MongoDB go héifeachtach agus go gasta.
