我有一个架构,每个网站的名称都出现在许多collection.I中,我试图计算每个网站的数量,但我没有。你能帮我吗?
const articleSchema = new mongoose.Schema(
{
_id: Number,
link: String,
title: String,
sapo: String,
publicDate: Date,
sourceCode: String,
text: String,
thumbnail: String,
tags: [String],
category: { id: Number, name: String },
website: { id: Number, name: String },
}
);
答案 0 :(得分:0)
您可以通过两种方式执行此操作。一个使用aggregate
查询,第二个使用distinct
和count
查询。请参阅以下两种方法,并在mongodb shell中尝试它们:
方法1:
db.articles.aggregate([{
$group: {
_id: "$website.name"
}
},{
$group:{
_id: null,
count: {$sum: 1}
}
},{
$project: {
_id: 0
}
}])
方法2:
db.articles.distinct('website.name').length