2014-10-17 327 views
0

我有以下蒙戈集合如何計算mongo集合中的數組長度?

[{ 
"_id" : ObjectId("543fa67e9672ec37ebe3d028"), 
"customerId" : "5429aed703646b52def71736", 
"tagName" : "abc", 
"tagMembers" : [ 
    "111", 
    "112", 
    "123" 
] 
}, 
{ 
"_id" : ObjectId("543fa67e9672ec37ebe3d029"), 
"customerId" : "5429aed703646b52def71736", 
"tagName" : "pqr", 
"tagMembers" : [ 
    "111", 
    "112", 
    "123" 
] 
}] 

結構我要計算每個tagMember的計數。

如何使用mongo來計算它?

是否有可能在不使用聚合的情況下計數?

+2

有什麼不對使用聚合框架? – 2014-10-17 08:04:15

+0

@ kocko - 其實我無法獲得數組'tagMembers' – user3322141 2014-10-17 08:08:09

回答

0

使用聚合框架和$size操作:

> db.test.aggregate([ 
    { "$project" : { "_id" : 0, "tagMembersLength" : { "$size" : "$tagMembers" } } } 
]) 
{ "tagMembersLength" : 3 } 
{ "tagMembersLength" : 3 }