加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Couchbase中不区分大小写的文档ID匹配

发布时间:2020-12-15 08:27:43 所属栏目:Java 来源:网络整理
导读:我在 java spring项目中使用了com.couchbase.client maven依赖项.我通过以下方式从代码中获取couchbase文档: JsonDocument document = bucket.get(id); //matches id case sensitively 但我有一个新的要求.我必须根据id的不区分大小写匹配来获取文档. 例如
我在 java spring项目中使用了com.couchbase.client maven依赖项.我通过以下方式从代码中获取couchbase文档:

JsonDocument document = bucket.get(id); //matches id case sensitively

但我有一个新的要求.我必须根据id的不区分大小写匹配来获取文档.

例如:
假设couchbase有一个id为heLLo_Doc的文档

当我执行bucket.get(“hello_doc”)时,我希望返回id为heLLo_Doc的文档.如果有多个具有相同小写id的文档(例如:Hello_Doc,hEllo_doc等),我需要获取所有这些文档.

是否有任何方法由couchbase提供这样做?

最糟糕的方法是搜索我不想做的所有可能性.

解决方法

如果你想使用N1QL.您需要在文档键上创建功能索引

CREATE INDEX ix1 ON default(LOWER(META().id));
SELECT * FROM default WHERE LOWER(META().id) = "hello_doc";

要么

SELECT META().id FROM default WHERE LOWER(META().id) = "hello_doc";
The second query gives actual document keys then you can pass this to your existing bucket.get() call too.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读