Yo *_*ngh 4 couchbase couchbase-view
我有以下格式存储的couchbase文档:
{
"userEmail": "satyam@xyz.com",
"hashedPassword": "$2a$12$MT31FHNEbOAKpQGzLdBB3uhLlPlGNU0cvsgi/2pt4TdwPjvrUzkSG",
"type": "user",
}
Run Code Online (Sandbox Code Playgroud)
我想只读取userEmail值为satyam@xyz.com的文档.为此我写了一个基础视图:
function (doc, meta) {
if(doc.userEmail == "satyam@xyz.com")
emit(doc.data, meta.id);
}
Run Code Online (Sandbox Code Playgroud)
现在我想要的是,我想从Java代码中传递值"satyam@xyz.com".我尝试了很多,但找不到合适的解决方案.任何人都可以帮助我摆脱这种困境.
提前感谢任何建议.
我想事实上你想用userEmail映射你的JSON文档,所以你的map函数应该是这样的:
function(doc, meta) {
//maybe check the type of the document here, see meta.type
emit(doc.userEmail, null)
}
Run Code Online (Sandbox Code Playgroud)
两个笔记:
meta.type == "json".现在,您可以通过传递startkey和endkey参数查询视图,只需一点技巧:
?startkey="theEmail"&endkey="theEmail\uefff"
Run Code Online (Sandbox Code Playgroud)
这\uefff是第一个unicode char,它允许模拟精确的密钥匹配,因为"myEmail"和"myEmail\uefff"之间没有其他字符组合.
| 归档时间: |
|
| 查看次数: |
431 次 |
| 最近记录: |