我必须在mongoDB中创建一个视图,这是sql的视图逻辑,我准备使用mapreduce来实现,因为记录超过20000,但是仍然存在一些问题,详细信息在下面,
sql:
enter code here
SELECT emp_no, MAX(from_date) AS from_date, MAX(to_date) AS to_date
FROM dept_emp
GROUP BY emp_no;
MongoDB:
db.runCommand({
mapreduce:"dept_emp",
map:function Map(){
emit(
{_id:this.emp_no},{count:1}
);
},
reduce: function Reduce(key, values) {
var maxfromDate=0
var maxtoDate=0
for(var i in values){
maxfromDate = isNaN(values[i].from_date) ? maxfromDate : Math.max(maxfromDate, values[i].from_date);
maxtoDate = isNaN(values[i].to_date) ? maxtoDate : Math.max(maxtoDate, values[i].to_date);
}
return {maxfromDate:maxfromDate},{maxtoDate:maxtoDate};
},
out : { inline : 1 }
});
没有任何问题或例外弹出窗口。所以我很困惑。