我想在CouchDB中筛选数据库中的子文档。数据库中的示例文档如下:
{
"Things": {
"Thing:1": {
"Number":1
"Type": "TI"
},
"Thing:2": {
"Number":2,
"Type": "TI"
}
},
"Type": "TD"
}是否可以像这样创建一个过滤子文档的视图?
for(key in Object.keys(Things)) {
return Things[key].Number == 2;
}发布于 2020-01-23 21:40:39
是的,使用map函数非常容易。例如
function (doc) {
Object.keys(doc.Things).forEach(function(key) {
if(doc.Things[key].Number === 2) emit(doc._id, 1);
});
}这适用于CouchDB 2.3。Fauxton使得创建和测试视图变得非常容易。
对于view _ 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"
}https://stackoverflow.com/questions/59867265
复制相似问题