繁体   English   中英

MongoDB Aggregation ..对数组进行计数会在javascript上产生输出。 使用nodeJS,猫鼬

[英]MongoDB Aggregation.. Counting inside an array on produce the output on javascript. using nodeJS, mongoose

这是我的猫鼬图式

    var testSchema = new mongoose.Schema({
    name: String,
    image: String,
    comments: [
        {
        type: mongoose.Schema.Types.ObjectId,
        ref: "Comment"
        }
    ]
});

所以每个用户都有名字,图片和评论。 注释是数组。 基本上我有10个用户,有不同的评论,我想计算每个用户有多少评论并显示在html上。

我已经试过了

 db.users.aggregate({$project: { count: {$size:"$comments"}}})

它计算所有用户的每个用户的评论...我如何在html上输出它? 以及如何仅对1个用户执行此命令? 并非所有用户...谢谢!

要查找单个用户发表的评论数量,请在猫鼬中使用以下命令。

Users.findOne({_id: ObjectId("57cdf6b3fbccf41198389aca")}, function(err, user) {
     if(err) {
       //handle error
     } else if(!user) {
       //no user found
     } else {
       //user found
       if(user.comments) {
           console.log('user comments length', user.comments.length);
       } else {
           console.log('no user comments');
       }
     }
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM