我正在使用MongoDB v1.4和mongodb-csharp驱动程序,我尝试对具有10000个以上密钥的数据存储进行分组,因此我收到此错误:
assertion: group() can't handle more than 10000 unique keys
使用像这样的c#代码:
Document query = new Document().Append("group",
new Document()
.Append("key", new Document().Append("myfieldname", true).Append("length", true))
.Append("$reduce",
new CodeWScope(
"function(obj,prev) { prev.count++; }"))
.Append("initial", new Document().Append("count", 0))
.Append("ns", "myitems"));
Run Code Online (Sandbox Code Playgroud)
我读到我应该使用map/reduce,但我无法弄清楚如何.有人可以说明如何使用map/reduce吗?
或者还有其他方法可以解决这个限制吗?
谢谢.
编辑:我忘记了我的密钥集中有2列,添加了.
尝试以下map/reduce
功能:
map = function() {
emit(this.myfieldname, 1);
}
reduce = function(k, vals) {
var sum = 0;
for(var i in vals) {
sum += vals[i];
}
return sum;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3914 次 |
最近记录: |