Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb Map Reduce函数在shell上执行,但无法通过MapReduceCommand和java api进行编译_Mongodb_Mongodb Java - Fatal编程技术网

Mongodb Map Reduce函数在shell上执行,但无法通过MapReduceCommand和java api进行编译

Mongodb Map Reduce函数在shell上执行,但无法通过MapReduceCommand和java api进行编译,mongodb,mongodb-java,Mongodb,Mongodb Java,我试图通过MongoJavaAPI-MapReduceCommand类运行以下命令。在调试期间,MapReduceCommand和mrc似乎包含以下内容 { "mapreduce" : "inColl" , "map" : "function mapf(){var vr = new Date(this.reg_d.getFullYear(),this.reg_d.getMonth(),this.reg_d.getDate());var key = {seg_dt:vr,com: this.com

我试图通过MongoJavaAPI-MapReduceCommand类运行以下命令。在调试期间,MapReduceCommand和mrc似乎包含以下内容

{ "mapreduce" : "inColl" , "map" : "function mapf(){var vr = new Date(this.reg_d.getFullYear(),this.reg_d.getMonth(),this.reg_d.getDate());var key = {seg_dt:vr,com: this.com}emit(key,{count:1});}" , "reduce" : "function reducef(key, values){var r = {count:0};values.forEach(function(v){r.count += v.count;});return r;}" , "verbose" : true , "out" : { "reduce" : "outColl"} , "query" : { "tp" : { "$in" : [ 1 , 0]}} , "finalize" : "function finalizef(key, value){var r = {com:key.com,ou_ke:0,seg_dt:key.seg_dt};r.ou_ke += value.count ;return r;}"}
当我执行MapReduceOutput=inColl.mapreducemrc;,我得到以下错误

Mon Feb 27 23:39:49[conn48]在{0:1}上为>djkdb.tmp建立新索引 Mon Feb 27 23:39:49[conn48]已完成0条记录0秒 Mon Feb 27 23:39:49[conn48]在{u id:1}上为>djkdb.tmp建立新索引 Mon Feb 27 23:39:49[conn48]已完成0条记录0秒 Mon Feb 27 23:39:51[conn47]JS错误:语法错误:缺失;在语句nofile_b之前:0 Mon Feb 27 23:39:51[conn47]编译失败:函数mapf{var vr=new>Datethis.reg_d.getFullYear,this.reg_d.getMonth,this.reg_d.getDate;var key=>{seg_dt:vr,com:this.com}emitkey,{count 1} Mon Feb 27 23:39:51[conn47]mr失败,正在删除集合

这是一个javascript语法问题还是我遗漏了一些基本的东西


谢谢

看起来您有语法错误:

function mapf(){
    var vr = new Date(this.reg_d.getFullYear(),this.reg_d.getMonth(),this.reg_d.getDate());
    var key = {seg_dt:vr,com: this.com}  <--- syntax problem
    emit(key,{count:1});
}
我在这里的提示是错误消息:

[conn47] JS Error: SyntaxError: missing ; before statement 
我建议使用一些东西来帮助格式化代码。简单地加上适当的回车,错误就很明显了

[conn47] JS Error: SyntaxError: missing ; before statement