Mongodb mapReduce:查询其他数据库

Mongodb mapReduce: query another database

本文关键字:其他 数据库 查询 mapReduce Mongodb      更新时间:2023-09-26

我正试图为MongoDb编写mapReduce函数,并且在reduce函数内试图从第二个MongoDb数据库查询数据时出现问题。下面是一个示例代码:

var reduceUsers = function(key, values) {
    var reducedUser = {
        uid: key,
        count: 0,
        extractBytes: 0
    };
    var secondDb = db.getSiblingDB("second");
    ....
}

当我尝试运行mapReduce时,我得到以下错误:

015-09-04T15:50:23.690+0100 E QUERY    Error: map reduce failed:{
"errmsg" : "exception: ReferenceError: db is not defined'n

所有的代码都在.js文件中,我这样运行它:

> mongo mapReduceTest.js

MapReduce不能访问全局shell对象,如db。MapReduce作业只能从它运行的一个集合中获取数据。它不能用于聚合来自多个集合的数据(很好的尝试,但MongoDB根本不做join)。无论你想做什么,它都不会这样工作。

当你想建议如何解决导致你进行此解决尝试的实际问题时,请打开一个新问题,详细解释你正在尝试做的事情。