[英]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.