Co to jest kursor w MongoDB?
Gdy funkcja db.collection.find () jest używana do wyszukiwania dokumentów w kolekcji, wynik zwraca wskaźnik do kolekcji zwróconych dokumentów, który jest nazywany kursorem.
Domyślnie kursor zostanie automatycznie iterowany po zwróceniu wyniku zapytania. Ale można też wyraźnie przejrzeć elementy zwrócone w kursorze jeden po drugim. Jeśli zobaczysz poniższy przykład, jeśli mamy 3 dokumenty w naszej kolekcji, obiekt kursora wskaże pierwszy dokument, a następnie przejdzie przez wszystkie dokumenty w kolekcji.
Poniższy przykład pokazuje, jak można to zrobić.
var myEmployee = db.Employee.find( { Employeeid : { $gt:2 }});while(myEmployee.hasNext()){print(tojson(myEmployee.next()));}
Objaśnienie kodu:
- Najpierw bierzemy zestaw wyników zapytania, które znajduje pracownika, którego identyfikator jest większy niż 2 i przypisujemy go do zmiennej JavaScript „myEmployee”
- Następnie używamy pętli while do iteracji przez wszystkie dokumenty, które są zwracane jako część zapytania.
- Wreszcie dla każdego dokumentu drukujemy szczegóły tego dokumentu w formacie czytelnym dla JSON.
Jeśli polecenie zostanie wykonane pomyślnie, zostanie wyświetlony następujący wynik
Wynik: