我正在使用 MongoDB 和 10Gen node.js 驱动程序。
我在 MongoDB 中有一个集合,其中包含与此类似的文档:
{
 _id: ObjectId( "500310affdc47af710000001" ),
 name:'something',
 tags:['apple','fruit','red'],
 created: Date( 1342378221351 )
}
我想要得到的是查看所有文档并获得集合中所有文档中所有标签的不同计数。我尝试了 group 功能并得到了这个:
> db.photos.group(
... {cond:{}
... ,key:{tags:true}
... ,initial:{count:0}
... ,reduce:function(doc,out){out.count++}
... ,finalize:function(out){}});
[
    {
        "tags" : null,
        "count" : 35
    },
    {
        "tags" : [
            "#strawberry",
            "#friutpicture"
        ],
        "count" : 1
    }
]
这是不对的。我可以在没有这样的计数的情况下得到不同的:
> db.photos.distinct('tags')
[
    "#friutpicture",
    "#strawberry",
    "#factory",
    "#wallpaper",
    "#bummber",
    "#test",
    "#fire",
    "#watermark"
]
但我需要计数。