我正在使用RockMongo测试mapReduce函数,但我遇到了一些问题。我甚至使用一个非常简单的查询来测试它,但它再次失败并出现同样的错误:
这是RockMongo生成的命令(我使用mapReduce插件):
{
mapreduce : "TEST__CHFUSD",
map : function () {
emit(this.ts,
this.1_bid);
},
reduce : function (key,
values) {
return Array.sum(values);
},
out : {
"map_reduce_test1"
},
keeptemp:false,
jsMode : false,
verbose : false
}
这是一个文档示例:
{
"_id": ObjectId("533d54aa72b378fd77b85f7b"),
"ts": ISODate("2014-04-03T12: 31: 38.461Z"),
"1_bid": 7.32421,
"1_bidQty": 3000000,
"1_bidts": ISODate("2014-04-03T12: 31: 38.460Z"),
"1_bidown": "LP1",
}
错误返回:
{
"errmsg": "exception: SyntaxError: Unexpected token {",
"code": NumberInt(16722),
"ok": 0
}
所以似乎有一个支架缺失或超出,我试图删除out值周围的括号,但同样的错误被触发。
答案 0 :(得分:1)
我认为“out”存在一些问题。
{out}的值{"map_reduce_test1"}
不是有效文件。我认为这就是导致问题的原因。