1
我想使用mapreduce方法來獲得男性和女性留在一個特定的區域計數。我正在使用以下代碼,然後編寫一個邏輯來計算值。想知道這是否可以在模塊內完成。這是可能的,或者我現有的做法是做貓鼬mapreduce按性別和地區
module.export.findStudentsForGivenAdministrativeAreaInAState = function(administrativeArea){
var o = {};
var self = this;
o.map = function() {
var values = {gender:this.gender,area_level_2:this.address.administrative_area_level_2};
emit(this._id, values)
};
o.reduce = function (k, vals) {
return vals;
};
o.query = {
'address.administrative_area_level_1': administrativeArea
};
return new Promise.resolve(Student.mapReduce(o))
.then(function (data) {
return data;
}).catch(function (error) {
routesLogger.logError("studentDAL", "getDistinctStatesWhereStudentsAreRegistered", error);
return error;
});
};
你能後的預期結果?你是否在字段'administrative_area_level_2'中指定了特定區域? –
我確實將該字段指定爲輸出的一種補充。我正在通過行政區域。如果我說了2個不同的administrative_area_level_2,我希望得到[{_id:xxxx,area_level_2:「District1」,男士:2,女士:2,count:4},{_id:xxxx,area_level_2:「District2」 4,女:4,數:8}] –