面试题答案
一键面试- 实现步骤:
- 在CouchDB中,首先要创建一个设计文档。设计文档包含视图,视图本质上是对数据库中文档的一种索引。
- 在设计文档的视图函数中,根据
user_type
字段进行筛选,只返回user_type
为admin
的文档。
- 相关代码:
- JavaScript 语言实现视图函数(CouchDB 常用):
在设计文档的
views
属性下创建视图,例如:
- JavaScript 语言实现视图函数(CouchDB 常用):
在设计文档的
{
"_id": "_design/my_design",
"views": {
"admin_users": {
"map": "function(doc) { if (doc.user_type === 'admin') { emit(doc._id, doc); } }"
}
}
}
上述代码中,map
函数是视图的核心。它遍历数据库中的每个文档doc
,如果文档的user_type
字段值为admin
,则使用emit
函数输出文档的_id
(也可以输出其他你需要的键值对,这里_id
作为键,整个文档doc
作为值)。这样就可以通过访问这个视图来获取user_type
为admin
的文档。
访问视图的URL示例(假设CouchDB运行在本地5984端口,数据库名为my_database
):
http://127.0.0.1:5984/my_database/_design/my_design/_view/admin_users