摘要:MongoDB - Group use RockMongo
試了好久終於試成功了。
首先使用RockMongo,點選左邊選單的資料庫,在右邊上方menu點選命令
輸入以下資訊
{
group:{
ns: 'collection_name',
key: { 'key_field': 1, },
"$reduce":"function ( curr, result ){result.total+=1; }",
initial: { total : 0 }
}
}
這算基本款的,應該夠用了。
一直試很久,
initial,必需是Object
而reduce的內容雖然是function(javascript)
但必須加雙引號("),否則被試為錯誤,如下的錯誤
{
"errmsg": "exception: not code",
"code": NumberInt(10062),
"ok": 0
}
"errmsg": "exception: not code",
"code": NumberInt(10062),
"ok": 0
}
加了雙引號後,就會計算成功如下
{
"retval": [
{
"key_value": "key_name"
"total": 55555
}
],
"count": 55555,
"keys": NumberInt(4),
"ok": 1
}
"retval": [
{
"key_value": "key_name"
"total": 55555
}
],
"count": 55555,
"keys": NumberInt(4),
"ok": 1
}
加上condition的方式(where)
{
group:{
ns: 'collection_name',
key: { 'key_field': 1, },
cond:{'key_field':'key_value'},
"$reduce":"function ( curr, result ){result.total+=1; }",
initial: { total : 0 }
}
}