2016-09-12 84 views
1

我有一個名爲tag的MongoDB集合,其中包含3個對象。這些對象包含_idmainname等領域,如下列:Mongodb,統計在一個集合中重複的字段中的所有對象

{ 
    "_id": "2ho8XgtfRvXpkg9g6", 
    "main": "category", 
    "name": ["elec", "toys", "flowers"] 
} 

我希望計算name陣列中的所有項目(有3個位置,4有,5即止)。

如何在所有3個標記集合中使用以下查詢來計算所有數組中的所有項目,所有數組均爲name

Tags.find().count() 

回答

0

這種聚合查詢會給你的名字數組的總和:

db.tag.aggregate([ 
    {"$unwind": "$name"}, 
    {"$group": {"_id": "$_id", "sum": { "$sum": 1}}}, 
    {"$group": {"_id": null, "total_sum": {"$sum": "$sum"}}} 

]) 
相關問題