面试题答案
一键面试- 创建视图:
- 使用
PUT
请求到http://{couchdb_server_url}/{database_name}/_design/{design_doc_name}
。 - 请求体示例(假设设计文档名为
query_design
):
{ "views": { "filter_docs": { "map": "function(doc) { if (doc.age > 30 && doc.city === 'Beijing' && doc.name.includes('John')) { emit(doc._id, doc); } }" } } }
- 使用
- 查询视图:
- 使用
GET
请求到http://{couchdb_server_url}/{database_name}/_design/{design_doc_name}/_view/{view_name}
。 - 对于上述创建的视图,请求URL为
http://{couchdb_server_url}/{database_name}/_design/query_design/_view/filter_docs
。 - 可以添加一些可选参数,如
?include_docs=true
来在响应中包含完整的文档内容,而不仅仅是文档ID。完整请求示例:http://{couchdb_server_url}/{database_name}/_design/query_design/_view/filter_docs?include_docs=true
。
- 使用
注意:在实际使用中,需将 {couchdb_server_url}
替换为实际的CouchDB服务器地址,{database_name}
替换为实际的数据库名,{design_doc_name}
和 {view_name}
替换为自定义的设计文档名和视图名。