[英]how to count records in mongodb
我是mongodb的新手。 我有一个简单的电子邮件架构,实现如下:
const emailSchema = new Schema({
from:{
type: String
},
to: {
type: String
},
subject: {
type: String
},
content: {
type: String
},
provider:{
type: String
},
success:{
type: Boolean
}
现在我想查询所有电子邮件记录并将它们分成两个数组。 一个用于provider=x
和provider = y
。 然后计算每个人的success
领域。 我该如何写这样的查询?
如果您只想计算成功:对任何提供者都适用
emailSchema.aggregate([{
$match: {
{ 'success': true }
},
$group: {
_id: {
provider: '$provider'
}, //group by provider
count: {
$sum: 1
}
} //sum of success fields
]);
如果您只想计算成功字段是否存在,则对于任何提供程序而言,该字段可能为true或false
emailSchema.aggregate([{
$match: {
{'success': { $exists: true }}
},
$group: {
_id: {
provider: '$provider'
}, //group by provider
count: {
$sum: 1
}
} //sum of success fields
]);
使用汇总查询进行分组和计数
emailSchema.aggregate([{
$group: {
_id: {
provider: '$provider'
}, //group by provider
count: {
$sum: '$success'
}
} //sum of success fields
])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.