myModel.find({}, function(err, items) {
console.log(items.length); // Big number
});
¿Cómo puedo limitar los artículos devueltos a solo los últimos 10 artículos que se insertaron?
En la última mangosta (3.8.1 en el momento de escribir este artículo), hace dos cosas de manera diferente: (1) debe pasar un único argumento a sort (), que debe ser una matriz de restricciones o solo una restricción, y (2 ) execFind () desaparece y se reemplaza con exec () en su lugar. Por lo tanto, con la mangosta 3.8.1 harías esto:
var q = models.Post.find({published: true}).sort({'date': -1}).limit(20);
q.exec(function(err, posts) {
// `posts` will be of length 20
});
o puede encadenarlo simplemente así:
models.Post
.find({published: true})
.sort({'date': -1})
.limit(20)
.exec(function(err, posts) {
// `posts` will be of length 20
});
{ date: 'desc' }
{date: 'descending'}
. Ver esta respuestaAsí, usando .limit ():
fuente
Soy un poco vago, así que me gustan las cosas simples:
fuente
fuente
Encontrar parámetros
Los parámetros que toma la función de búsqueda son los siguientes:
«Object»
.«Object|String»
campos opcionales para devolver, consulte Query.prototype.select ()«Object»
opcional ver Query.prototype.setOptions ()«Function»
Cómo limitar
Información extra
Mongoose te permite consultar tus colecciones de diferentes formas como: Documentación oficial
fuente
Por alguna razón, no pude hacer que esto funcionara con las respuestas propuestas, pero encontré otra variación, usando select, que funcionó para mí:
¿Ha cambiado quizás la API? Estoy usando la versión 3.8.19
fuente
... además, asegúrese de utilizar:
Esto establece la promesa de mangosta a la promesa nativa de ES6. Sin esta adición obtuve:
fuente