-1
votes

Comment obtenir le nombre de documents à l'aide de la méthode de la méthode Express JS?

Comment obtenir le nombre de documents Trouver Total Express JS? J'ai cherché dans Google et Stackoverflow. Mais je ne pouvais pas trouver. Ce que les gens disent, c'est utiliser comtedocuments pour obtenir le nombre de documents du modèle comme suit: xxx

mais je veux les deux résultats et en même temps recordcount < / code> comme suivant xxx


1 commentaires

data est un tableau afin que data.length fonctionnera


3 Réponses :


0
votes
UserModel.find({}, null, options).exec().then(data => {
        UserModel.count({}, (err, counts) => {
            if (err) {
                           res.send(err)

            } else {
                res.render('index',{data:data,count:data.counts});

            }
        })
    }).catch(err => {
           res.send(err)
    });

5 commentaires

Vous essayez d'appeler usermodel 2 fois. un pour obtenir tous les enregistrements et un autre pour avoir compté. Existe-t-il d'autres solutions pour obtenir les données et compter dans un seul appel.


C'est un seul appel à l'API unique, UseModel est le nom de Tablame ThatSall


Oui ça marche bien. Est-ce le seul moyen et bon sens? . J'ai écrit le code suivant et ça marche bien. Est-ce une bonne façon de tirer les données? User.find (). Ensuite (userData => {user.Countrocuments (). Ensuite (userkeount => {catégorie.find (). Ensuite (catégorieData => {catégorie.Countrocuments (). Res.Render ("index", {CatégorieCount: CatégorieCount, UserCount: US Erkount, UserData: Utilisez RDATA, CatégorieData: C attegoryData});});});


Cela fonctionnera mais il semble un peu redondant. usermodel.find () retourne un tableau, vous pouvez donc simplement aller de l'avant et exécuter: res.Render ("index", {Données: données, compte: data.length}); / code>


Super!. Merci beaucoup Sceau Rapolai. C'est ce que je veux. :)



0
votes

Etant donné que usermodel.find () renvoie un tableau, vous pouvez simplement retourner le compte de data.length . .

Aussi, noter juste que modèle.count () a été obsolète dans la dernière version de mangouste (V5.7.6). Si vous utilisez l'utilisation ou quelque chose de similaire, vous pouvez utiliser l'une des opérations suivantes:

  • modèle.StimatedocumentCount () (rapide): qui utilise les métadonnées de la collection pour vous donner une estimation du nombre de documents, Voir Docs .
  • modèle.Countrocuments () (peut être lent pour les grandes collections): Pour un compte plus précis. Voir Docs .

0 commentaires

0
votes

usermodel.find () renvoie un tableau, vous pouvez donc simplement aller de l'avant et exécuter: Res.Render ('Index', {Données: Données, Compte: Data.Length});


0 commentaires