146 votes

Comment limiter le nombre d'articles retournés ?

myModel.find({}, function(err, items) {
    console.log(items.length);    // Big number
});

Comment puis-je limiter les articles retournés aux 10 derniers articles insérés ?

232voto

marni Points 416

Dans la dernière mangouste (3.8.1 au moment de la rédaction), vous faites deux choses différemment : (1) vous devez passer un seul argument à sort(), qui doit être un tableau de contraintes ou juste une contrainte, et (2 ) execFind() a disparu et remplacé par exec() à la place. Par conséquent, avec la mangouste 3.8.1, vous feriez ceci :

 var q = models.Post.find({published: true}).sort({'date': -1}).limit(20);
q.exec(function(err, posts) {
     // `posts` will be of length 20
});

ou vous pouvez l'enchaîner simplement comme ça :

 models.Post
  .find({published: true})
  .sort({'date': -1})
  .limit(20)
  .exec(function(err, posts) {
       // `posts` will be of length 20
  });

34voto

theCode Points 302

Je suis un peu paresseux, donc j'aime les choses simples :

 let users = await Users.find({}, null, {limit: 50});

28voto

kcbanner Points 1524

Comme ceci, en utilisant .limit() :

 var q = models.Post.find({published: true}).sort('date', -1).limit(20);
q.execFind(function(err, posts) {
  // `posts` will be of length 20
});

10voto

Suhail Ahmed Points 300
models.Post.find({published: true}, {sort: {'date': -1}, limit: 20}, function(err, posts) {
 // `posts` with sorted length of 20
});

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X