我如何计算 mongoDB 中的所有用户和帖子

how can i count all users and posts in mongoDB

我想统计网站的用户数、帖子数和评论数,并将数据发送到显示所有用户数和帖子数的仪表板。我无法解决这个问题。这是我的代码

     app.get('/', async (req,res)=>{
       const query = User.find()
       const posts = Post.find()
      const user = await query.countDocuments((err,count)=>{
           if(err){
               console.log(err)
           }else{
               return count;
           }
       })
   const post = await posts.countDocuments((err , posts)=>{
    if(err){
        console.log(err)
    }else{
        return posts;
    }
   })
console.log(post)
   res.render('dashboard',{userCount: user , posts:post})

})

您可以使用聚合找到文档的数量:

const postCount = await posts.aggregate([{$group: {
  _id : null,
  count : { $sum : 1}
}}, {$project: {
  _id : 0
}}]);

您将得到如下输出: count : 11

说明

$group 阶段将 select 不同的记录。当设置为 null 时,它 select 集合中的所有记录。

$project 阶段将 select 我们需要输出哪些字段(因为我们只需要计数我们可以消除其他字段)