Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.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
Javascript 在MongoDB中创建MapReduce查询_Javascript_Mongodb_Mapreduce - Fatal编程技术网

Javascript 在MongoDB中创建MapReduce查询

Javascript 在MongoDB中创建MapReduce查询,javascript,mongodb,mapreduce,Javascript,Mongodb,Mapreduce,我有个小问题。直到现在,我对Mongo DB的东西还不太了解。更像SQL的家伙,但现在我必须装箱一个MapReduce查询 我的数据如下所示: 每个学生都有多次讲座。现在我想要一份所有讲座的清单(没有重复)和参观的学生人数 function() { emit(this.vorlesungen, this._id); }; function(VL, students) { return Array.sum(students);

我有个小问题。直到现在,我对Mongo DB的东西还不太了解。更像SQL的家伙,但现在我必须装箱一个MapReduce查询

我的数据如下所示:

每个学生都有多次讲座。现在我想要一份所有讲座的清单(没有重复)和参观的学生人数

function() {
emit(this.vorlesungen, this._id);
};


function(VL, students) {
                      return Array.sum(students);
                  };
这给了我一些奇怪的结果,我想不出来


一些提示会很好。

我不确定这是否是您期望的数据,但请尝试一下:

db.collection.aggregate([
   {$unwind : "$vorlesungen"},
   {$group : {_id : "$vorlesungen", studentCount: {$sum : 1}}}
])

我自己找到了一个解决办法:

地图:

function(){
this.vorlesungen.forEach(函数(elem){
for(elem中的vlname){
emit(vlname,1);
}

})
请用奇怪的输出更新您的问题。不太可能,但谢谢您的帮助。我只是一直在尝试如果您还没有找到答案,也许您可以发布您预期的数据,看看其他人是否可以帮您解决?