Mongodb加入两个系列

时间:2014-03-31 09:34:16

标签: mongodb mapreduce

我是mongodb的新手,刚刚开始探索这个nosql数据库。我需要为一个功能加入两个集合。我的一个馆藏有98067个文件,另一个有2584个文件。

可能的输出是861条记录(当然)这是我需要在mongodb中实现的sql场景:

SELECT A.NAME,B.DESIGNATION
FROM EMPLOYEE A 
INNER JOIN DESIGNATION B ON A.JOBID=B.JOBID

其中JOBID是UUID(32位varchar值)。我正在采取地图减少方法。可能我在这里出错了。这是我的mongo查询:

var mapemployee = function () {
    emit(this.jobid,this.Name);};

var mapdesignation = function () {
    emit(this.jobid, this.Designation);};

var reduceF = function(key, values) {
    var outs = {Name:null,Designation: null};
    values.forEach(function(v){
    if(outs.Name ==null){
   outs.Name = v.Name }
   if(outs.Name ==null){
    outs.Nesignation = v.Designation}                    
     });
    return outs;
};

result = db.employee.mapReduce(mapemployee, reduceF, {out: {reduce: 'output'}});
result = db.designation.mapReduce(mapdesignation,reduceF, {out: {reduce: 'output'}});

从这个结果来看,我得到了77050条记​​录,这是不对的,我相信。如果有人可以帮助我,那就太好了。

我经历了很多博客,我觉得很难理解所使用的逻辑。提前谢谢。

0 个答案:

没有答案