Quando eseguiamo una query Mongo find () senza alcun ordinamento specificato, cosa utilizza internamente il database per ordinare i risultati?
Secondo la documentazione sul sito web di mongo :
Quando si esegue find () senza parametri, il database restituisce gli oggetti in ordine naturale.
Per le tabelle standard, l'ordine naturale non è particolarmente utile perché, sebbene l'ordine sia spesso vicino all'ordine di inserimento, non è garantito che lo sia. Tuttavia, per le Collezioni limitate, l'ordine naturale è sicuramente l'ordine di inserzione. Questo può essere molto utile.
Tuttavia, per le raccolte standard (raccolte non limitate), quale campo viene utilizzato per ordinare i risultati? È il campo _id o qualcos'altro?
Modificare:
Fondamentalmente, immagino che quello che sto cercando di ottenere è che se eseguo la seguente query di ricerca:
db.collection.find({"x":y}).skip(10000).limit(1000);
In due diversi momenti: t1 e t2 , otterrò diversi set di risultati:
- Quando non ci sono state scritture aggiuntive tra t1 e t2?
- Quando ci sono state nuove scritture tra t1 e t2?
- Sono stati aggiunti nuovi indici tra t1 e t2?
Ho eseguito alcuni test su un database temporaneo e i risultati che ho ottenuto sono gli stessi ( Sì ) per tutti e 3 i casi, ma volevo essere sicuro e sono certo che i miei casi di test non fossero molto approfonditi.