こんにちは私がやろうとしているのは、それぞれの個別のdepartmentTypeのカウントを取得することです。
fnMap = function() {
emit(this.departments.departmentType, {typeCount:1} );
}
fnReduce = function(key, values) {
var result = {typeCount: 0};
values.forEach(function(value) {
result.typeCount += value.brandCount;
});
return result;
};
var command = {
mapreduce : "clients",
query : {"departments.departmentType": {$exists: true}},
map : fnMap.toString(),
reduce : fnReduce.toString(),
//sort: {"departments.departmentType":1},
out: {inline: 1}
};
mongoose.connection.db.executeDbCommand(command, function(err, dbres) {
});
コマンドを実行すると、dbres.documents [0] .resultsには、departmentTypeの総数を含む1つのアイテムのみが含まれ、departmentTypeごとに1つのアイテムが含まれます。
私が間違っていることは何ですか?
また、SORT行のコメントを外すと、「dbアサーションの失敗:カーソルを作成できませんでした...」というエラーが表示され、フィールド名が正しく書き込まれていると思います。