gpt4 book ai didi

couchbase - 通过动态传递一些值来查询 couchbase

转载 作者:行者123 更新时间:2023-12-03 06:48:14 31 4
gpt4 key购买 nike

我有以下格式存储的 couchbase 文档:

{
"userEmail": "satyam@xyz.com",
"hashedPassword": "$2a$12$MT31FHNEbOAKpQGzLdBB3uhLlPlGNU0cvsgi/2pt4TdwPjvrUzkSG",
"type": "user",
}

我只想读取 userEmail 值为 satyam@xyz.com 的文档。为此,我编写了一个 couchbase View :

function (doc, meta) {
if(doc.userEmail == "satyam@xyz.com")
emit(doc.data, meta.id);
}

现在我想要的是,我想从 Java 代码传递值“satyam@xyz.com”。我尝试了很多但找不到合适的解决方案。谁能帮我摆脱这个困境。

预先感谢您的任何建议。

最佳答案

我认为实际上你想通过 userEmail 映射你的 JSON 文档,所以你的映射函数应该是这样的:

function(doc, meta) {
//maybe check the type of the document here, see meta.type
emit(doc.userEmail, null)
}

两个注意事项:

  • 如果您的存储桶中同时有 json 和非 json 文档,您可以通过检查 meta.type == "json" 来仅映射 json 文档。
  • 生成的索引将始终包含文档的 ID,无需发出它(或整个文档),因为它会不必要地增加索引大小。

现在您可以通过传递 startkeyendkey 参数来查询 View ,使用一个小技巧:

?startkey="theEmail"&endkey="theEmail\uefff"

这里 \uefff 是第一个 unicode 字符,它允许模拟精确的键匹配,因为“myEmail”和“myEmail\uefff”之间没有其他字符组合。

关于couchbase - 通过动态传递一些值来查询 couchbase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27477356/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com