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