Это не та проблема, которую нужно решить за счет снижения;уменьшить в CouchDB для агрегации.
Если я правильно вас понимаю, вы хотите это;
Карта:
function(doc) {
for (var i in doc.status) {
emit(doc.status[i], null);
}
}
Затем вы можете найти все документы статуса Зеленый с;
/_design/foo/_view/bar?key="Green"&include_docs=true
Это вернет список всех документов с таким статусом.Если вы хотите найти документы с более чем одним статусом в одном запросе, используйте http POST с телом этой формы:
{"keys":["Green", "Red"]}
HTH, B.