Да, довольно легко с функцией карты. Например
function (doc) {
Object.keys(doc.Things).forEach(function(key) {
if(doc.Things[key].Number === 2) emit(doc._id, 1);
});
}
Это работает с CouchDB 2.3. Fauxton упрощает создание и тестирование представлений.
Дизайн do c будет выглядеть примерно так для представления _design / thing / _view / thing
{
"_id": "_design/thing",
"views": {
"thing": {
"map": "function (doc) {\n Object.keys(doc.Things).forEach(function(key) {\n if(doc.Things[key].Number === 2) emit(doc._id, 1);\n});\n\n}"
}
},
"language": "javascript"
}