我正在Node.js + Express.js服务器上执行MapReduce执行。
我使用Mongoose作为ODM,我需要将名为_affinities
的键值数组传递到map
函数全局范围。为此,我目前正在o.scope
对象中传递数组:
var o = {}; // Object sent to Mongoose as options
// Scope to pass affinities
o.scope = {
affs : _affinities,
test : 'test'
}
但是,在o.map
中使用这些值时,它表示affs
是一个空数组。但是,如果我尝试记录test
,则会显示正确的值。
// Note: this is just a test, I don't need to pass affs & test as the key.
o.map = function() {
emit({
a : affs,
test : test,
id : this._id
}, this.score);
}
我只有一个finalize函数(用于测试),没有reduce
个。
o.finalize = function (k, v)
{
return v;
}
MyModel.mapReduce(o, callback);
我做错了吗? MongoDB不支持传递数组吗?