Definición
cursor.limit()Importante
Método mongosh
Esta página documenta una
mongoshMétodo. Esta no es la documentación de un controlador específico del lenguaje, como Node.js.Para los drivers de API de MongoDB, consulte la documentación del driver de MongoDB específica del lenguaje.
Utilice el método
limit()en un cursor para especificar el número máximo de documentos que devolverá el cursor.limit()es análogo a la declaraciónLIMITen una base de datos SQL.Nota
Debes aplicar
limit()al cursor antes de recuperar cualquier documento de la base de datos.Utilice para maximizar el rendimiento y evitar que MongoDB devuelva más resultados de los necesarios para el
limit()procesamiento.El método tiene la siguiente forma de
limit()prototipo:db.collection.find(<query>).limit(<number>)
Compatibilidad
Este método está disponible en implementaciones alojadas en los siguientes entornos:
MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube
Nota
Este comando es compatible con todos los clústeres de MongoDB Atlas. Para obtener información sobre el soporte de Atlas para todos los comandos, consulte Comandos no compatibles.
MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB
MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.
Comportamiento
Valores admitidos
El comportamiento de no está definido para valores menores que limit() -2 31 y mayores 2 31 que.
Debe especificar un valor numérico limit() para.
Valor cero
Un valor limit() de 0 (es.limit(0) decir,) es equivalente a no establecer ningún límite.
Valores negativos
Un límite negativo es similar a un límite positivo, pero cierra el cursor después de devolver un único agrupar de resultados. Por lo tanto, con un límite negativo, si el conjunto de resultados limitado no encaja en un solo lote, el número de documentos recibidos será menor que el límite especificado. Al pasar un límite negativo, el cliente indica al servidor que no pedirá un lote posterior a través de getMore.
Usando limit() con sort()
Si usa con, asegúrese de incluir al menos un campo en su clasificación que contenga valores únicos, antes de pasar los limit() sort()resultados limit() a.
La ordenación en campos que contienen valores duplicados puede devolver un orden de clasificación inconsistente para esos campos duplicados en múltiples ejecuciones, especialmente cuando la colección está recibiendo activamente escrituras.
La forma más sencilla de garantizar la coherencia de ordenamiento es incluir el campo _id en la query de ordenación.
Consulta Ordenación coherente con el método sort() para obtener más información.
Usando limit() con skip()
Cuando encadenas skip() y limit(), el orden de encademineto de métodos no afecta los resultados. El servidor siempre aplica la operación de omitir según el orden de clasificación antes de aplicar el límite de cuántos documentos retornará.
El siguiente ejemplo de código muestra diferentes órdenes de encadenamiento para skip() y que siempre producen los mismos resultados de consulta para el mismo conjunto de limit() datos:
db.myColl.find().sort({_id: 1}).skip(3).limit(6); db.myColl.find().sort({_id: 1}).limit(6).skip(3);