myModel.find({}, function(err, items){
console.log(items.length); // big number
});
¿Cómo puedo limitar los artículos devueltos solo a los últimos 10 artículos que se insertaron?¿Cómo limito el número de artículos devueltos?
myModel.find({}, function(err, items){
console.log(items.length); // big number
});
¿Cómo puedo limitar los artículos devueltos solo a los últimos 10 artículos que se insertaron?¿Cómo limito el número de artículos devueltos?
En la última mangosta (3.8.1 en el momento de la escritura), que hacer dos cosas de otra manera: (1) que tienen que pasar solo argumento para ordenar(), que debe ser una matriz de restricciones o una sola restricción, y (2) execFind() se ha ido, y reemplazado con exec() en su lugar. Por lo tanto, con la mangosta 3.8.1 que haría 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 encadenar juntos simplemente como eso:
models.Post
.find({published: true})
.sort({'date': -1})
.limit(20)
.exec(function(err, posts) {
// `posts` will be of length 20
});
De esta manera, el uso de .Limite():
var q = models.Post.find({published: true}).sort('date', -1).limit(20);
q.execFind(function(err, posts) {
// `posts` will be of length 20
});
Muchas gracias, no sabía que podía hacer consultas como esa. ¿Dónde puedo encontrar algún tipo de documentación sobre este método execFind? –
Honestamente, solo miro los ejemplos en las fuentes de mangostas y esas cosas, así como en los casos de prueba. La lista de correo también es buena. Los documentos reales parecen un poco desactualizados. – kcbanner
es execFind todavía en la última versión de mongoosejs? – Manny
Por alguna razón no pude conseguir que esto funcione con el respuestas propuestas, pero encontré otra variación, usando seleccionar, que funcionó para mí:
models.Post.find().sort('-date').limit(10).select('published').exec(function(e, data){
...
});
¿Ha cambiado la API? Estoy utilizando la versión 3.8.19
models.Post.find({published: true},{date: 1}, {sort{'date': -1}, limit: 20}, function(err, posts) {
// `posts` with sorted length of 20
});
Si bien este fragmento de código puede resolver la pregunta, incluyendo una explicación de * cómo * y * por qué * esto resuelve el problema [sería de gran ayuda] (// meta.stackexchange.com/q/114762) para mejorar la calidad de su publicación . Recuerde que usted está respondiendo la pregunta a los lectores en el futuro, ¡no solo a la persona que pregunta ahora! Por favor [edite] su respuesta para agregar una explicación y dar una indicación de qué limitaciones y suposiciones se aplican. –
... Además, asegúrese de usar:
mongoose.Promise = Promise;
Ajusta la promesa mangosta a la promesa ES6 nativa. Sin esta adición llegué:
DeprecationWarning: Mangosta: mpromise (biblioteca promesa por defecto de mangosta) está en desuso, conecte su propia biblioteca promesa en su lugar: http://mongoosejs.com/docs/promises.html
¿qué significa {'date': -1}? ¡Gracias por adelantado! – kurumkan
@ArslArsl - los resultados se ordenarán por la fecha en orden decreciente. –