在MongoDB中,可以使用$match
和$group
操作符來統(tǒng)計兩個條件。以下是一個示例:
假設(shè)我們有一個存儲用戶數(shù)據(jù)的集合users
,其中每個用戶文檔都有一個字段age
表示年齡和一個字段gender
表示性別。
要統(tǒng)計年齡在20到30歲之間且性別為女性的用戶數(shù)量,可以使用以下聚合管道操作:
db.users.aggregate([
{
$match: {
age: { $gte: 20, $lte: 30 },
gender: "female"
}
},
{
$group: {
_id: null,
count: { $sum: 1 }
}
}
])
在上述示例中,首先使用$match
操作符篩選出滿足條件的用戶文檔(年齡在20到30歲之間且性別為女性),然后使用$group
操作符將匹配文檔分組到一個新的文檔中,并計算滿足條件的文檔數(shù)量。
結(jié)果將如下所示:
{ "_id" : null, "count" : 3 }
其中_id
為null
表示所有匹配文檔都被分組到同一個組中,count
表示滿足條件的文檔數(shù)量。