Čo je kurzor v MongoDB?
Keď sa na vyhľadávanie dokumentov v kolekcii použije funkcia db.collection.find () , výsledok vráti ukazovateľ na kolekciu vrátených dokumentov, ktorý sa nazýva kurzor.
V predvolenom nastavení bude kurzor automaticky iterovaný, keď sa vráti výsledok dotazu. Jeden ale tiež môže výslovne prechádzať po položkách vrátených v kurzore. Ak vidíte nasledujúci príklad, ak máme v našej zbierke 3 dokumenty, objekt kurzora bude ukazovať na prvý dokument a potom bude prechádzať všetkými dokumentmi zbierky.
Nasledujúci príklad ukazuje, ako sa to dá urobiť.
var myEmployee = db.Employee.find( { Employeeid : { $gt:2 }});while(myEmployee.hasNext()){print(tojson(myEmployee.next()));}
Vysvetlenie kódu:
- Najskôr vezmeme výslednú množinu dotazu, ktorá vyhľadá zamestnanca, ktorého ID je väčšie ako 2, a priradíme ho k premennej JavaScriptu „myEmployee“.
- Ďalej použijeme slučku while na iteráciu všetkých dokumentov, ktoré sa vrátia ako súčasť dotazu.
- Nakoniec pre každý dokument vytlačíme podrobnosti tohto dokumentu vo formáte čitateľnom vo formáte JSON.
Ak je príkaz vykonaný úspešne, zobrazí sa nasledujúci Výstup
Výkon: