Что такое курсор в MongoDB?
Когда функция db.collection.find () используется для поиска документов в коллекции, результат возвращает указатель на возвращенную коллекцию документов, которая называется курсором.
По умолчанию курсор будет повторяться автоматически при возврате результата запроса. Но можно также явно просматривать элементы, возвращаемые в курсоре, один за другим. Если вы видите приведенный ниже пример, если у нас есть 3 документа в нашей коллекции, объект курсора будет указывать на первый документ, а затем перебирать все документы коллекции.
В следующем примере показано, как это можно сделать.
var myEmployee = db.Employee.find( { Employeeid : { $gt:2 }}); while(myEmployee.hasNext()) { print(tojson(myEmployee.next())); }
Объяснение кода:
- Сначала мы берем набор результатов запроса, который находит сотрудника с идентификатором больше 2 и присваиваем его переменной JavaScript «myEmployee»
- Затем мы используем цикл while, чтобы перебрать все документы, которые возвращаются как часть запроса.
- Наконец, для каждого документа мы печатаем детали этого документа в формате JSON для чтения.
Если команда выполнена успешно, будет показан следующий вывод
Вывод: