Co je kurzor v MongoDB?
Když se funkce db.collection.find () používá k vyhledávání dokumentů v kolekci, vrátí výsledek ukazatel na kolekci vrácených dokumentů, který se nazývá kurzor.
Ve výchozím nastavení bude kurzor automaticky iterován po vrácení výsledku dotazu. Lze však také explicitně procházet položky vrácené v kurzoru jeden po druhém. Pokud vidíte níže uvedený příklad, pokud máme v naší kolekci 3 dokumenty, objekt kurzoru bude ukazovat na první dokument a poté iterovat všemi dokumenty kolekce.
Následující příklad ukazuje, jak toho lze dosáhnout.
var myEmployee = db.Employee.find( { Employeeid : { $gt:2 }});while(myEmployee.hasNext()){print(tojson(myEmployee.next()));}
Vysvětlení kódu:
- Nejprve vezmeme sadu výsledků dotazu, který najde zaměstnance, jehož id je větší než 2, a přiřadíme jej proměnné JavaScriptu 'myEmployee'
- Dále použijeme smyčku while k iteraci všech dokumentů, které jsou vráceny jako součást dotazu.
- Nakonec pro každý dokument vytiskneme podrobnosti tohoto dokumentu ve formátu čitelném JSON.
Pokud je příkaz úspěšně proveden, zobrazí se následující výstup
Výstup: