直接上例子
假设我们有一堆数据长这样
{name:"/project/updateinfo", context:{ "url" : "http://xxxx1", "args" : { "id" : "coex", "nums" : "5" }}}
{name:"/project/updateinfo", context:{ "url" : "http://xxxx1", "args" : { "id" : "coex", "nums" : "5" }}}
{name:"/project/updateinfo", context:{ "url" : "http://xxxx2", "args" : { "id" : "coex", "nums" : "5" }}}
{name:"/project/updateinfo", context:{ "url" : "http://xxxx2", "args" : { "id" : "coex", "nums" : "5" }}}
{name:"/project/updateinfo1", context:{ "url" : "http://xxxx2", "args" : { "id" : "coex1", "nums" : "5" }}}
{name:"/project/updateinfo1", context:{ "url" : "http://xxxx2", "args" : { "id" : "coex1", "nums" : "5" }}}
而你要查询的context中args为{ “id” : “coex”, “nums” : “5” }的数据有多少个,context为复杂型数据
查询方式
> db.measurements.aggregate([
{ "$match": { "name": "/project/updateinfo"}},
{ "$group": {
"_id": {
"context": "$context.args",
},
"count": { "$sum": 1 }
}},
])