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 次 |
最近记录: |