我有一个 couchdb 数据库,包含大约 900 个文档,平均大小约为 600KB。每个文档都非常复杂,包含数千个深度为 5-6 级的元素。为了加快数据搜索速度,我使用设计文档提取了一些顶级信息,其中一个条目如下所示
{
"id": "doc1",
"key": "doc1",
"value": {
"name": "title",
"length": 149085,
"readme": "... ",
"info": {
"version": "1.0.0",
"license": "CC0",
"authors": [
"...",
]
}
}
}
我想查询设计文档中的
value.info.version
字段,希望这比编写 _find
命令从整个数据库进行临时搜索要快得多。然而,通过阅读设计文档文档,我无法找到从生成的设计文档中检索子元素的 API。
这可以做到吗?或者
_find
是唯一的方法?
无需借助
_find
即可实现此目的的方法是创建一个新视图,该视图会发出您想要过滤(搜索)的任何字段 key
。然后您可以使用 startkey
/endkey
从视图中仅过滤掉那些文档。