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