当前位置:  开发笔记 > 编程语言 > 正文

MongoDB MapReduce:map函数实例中的全局变量?

如何解决《MongoDBMapReduce:map函数实例中的全局变量?》经验,为你挑选了1个好方法。

我在MongoDB中编写了MapReduce,并希望使用全局变量作为写入/读取的缓存.我知道地图函数实例不可能有全局变量- 我只想每个函数实例中使用一个全局变量.这种类型的功能存在于Hadoop的MapReduce中,所以我期待它在MongoDB中存在.但以下似乎不起作用:

var cache = {}; // Does not seem to work!
function () {
  var hashValue = this.varValue1 + this.varValue2;
  if(typeof(cache[hashValue])!= 'undefined') {
    // Do nothing, we've processed at least one input record with this hash
  } else {
    // Process the input record
    // Cache the record
    cache[hashValue] = '1';
  }
}

这是不允许在MongoDB的MapReduce实现中,还是我在JavaScript中做错了(在JS中没有经验)?



1> Gates VP..:

看一下这些文档,我发现了以下内容:

db.runCommand(
 { mapreduce : ,
   map : ,
   reduce : 
   [, scope : ]
 }
);


我认为"范围"变量就是你所需要的.

在Github上有一个使用"范围"变量的测试/示例.

我对这些东西还不熟悉,但希望这足以让你开始.

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有