O que é Cursor no MongoDB?
Quando a função db.collection.find () é usada para pesquisar documentos na coleção, o resultado retorna um ponteiro para a coleção de documentos retornados, que é chamado de cursor.
Por padrão, o cursor será iterado automaticamente quando o resultado da consulta for retornado. Mas também é possível percorrer explicitamente os itens retornados no cursor, um por um. Se você vir o exemplo abaixo, se tivermos 3 documentos em nossa coleção, o objeto cursor apontará para o primeiro documento e, em seguida, iterará por todos os documentos da coleção.
O exemplo a seguir mostra como isso pode ser feito.
var myEmployee = db.Employee.find( { Employeeid : { $gt:2 }});while(myEmployee.hasNext()){print(tojson(myEmployee.next()));}
Explicação do código:
- Primeiro, pegamos o conjunto de resultados da consulta que encontra o Employee cujo id é maior que 2 e o atribuímos à variável JavaScript 'myEmployee'
- Em seguida, usamos o loop while para iterar por todos os documentos que são retornados como parte da consulta.
- Finalmente, para cada documento, imprimimos os detalhes desse documento em formato legível JSON.
Se o comando for executado com sucesso, o seguinte resultado será mostrado
Resultado: