使用RockMongo的MongoDB Mapredure函数

时间:2014-04-04 08:37:14

标签: mongodb

我正在使用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值周围的括号,但同样的错误被触发。

1 个答案:

答案 0 :(得分:1)

我认为“out”存在一些问题。

{out}的值{"map_reduce_test1"}不是有效文件。我认为这就是导致问题的原因。