Spring boot 如何在couchbase中使用类似n1ql的查询?
我想代表一件我还不明白的事情。我给你看一个下面的例子。 这是我的文件Spring boot 如何在couchbase中使用类似n1ql的查询?,spring-boot,couchbase,n1ql,Spring Boot,Couchbase,N1ql,我想代表一件我还不明白的事情。我给你看一个下面的例子。 这是我的文件 doc 1 : {"type":"81"} doc 2 : {"type":"81_"} doc 3 : {"type":"8"} doc 4 : {"type":"8_"} doc 5 : {"type":"13"} 现在,我想使用n1ql进行查询,以获取与类型匹配的文档,如“8%”8应该是字符串前缀 @Query("#{#n1ql.selectEntity} where code like "8_%" ") **or*
doc 1 : {"type":"81"}
doc 2 : {"type":"81_"}
doc 3 : {"type":"8"}
doc 4 : {"type":"8_"}
doc 5 : {"type":"13"}
现在,我想使用n1ql进行查询,以获取与类型匹配的文档,如“8%”8应该是字符串前缀
@Query("#{#n1ql.selectEntity} where code like "8_%" ")
**or**
@Query("#{#n1ql.selectEntity} where code like (concat(8,_,'%')) ")
它们都不正确,因为我是例外。响应应该只有一个文档是doc4
:{“类型”:“8}。但这一回应是基于以下文件
doc 1 : {"type":"81"}
doc 2 : {"type":"81_"}
doc 3 : {"type":"8"}
doc 4 : {"type":"8_"}
在这种情况下你能帮我吗?高级版谢谢。我使用的是Couchbase 3.1.8。对不起,我的英语不好下面的查询应该会返回正确的结果
SELECT META().id FROM mybucket WHERE type LIKE "8_%"
将字符串与通配符表达式匹配。使用%表示零个或多个通配符,并使用u匹配字符串()中此位置的任何字符
如果你想按原样配对,就要逃避它
SELECT META().id FROM mybucket WHERE type LIKE "8\\_%";
如果您使用的是Couchbase 3.1.8,它非常旧,您应该尝试最新的Couchbase版本6.5.0
我认为N1QL发行版是在Couchbase 4.0.0中启动的,没有更改,repsonse仍然返回上述四个文档,尽管我已将CB更新为6.5.0,但看起来您需要匹配。更新的响应再次尝试哇,character\\n运行良好,响应正确。多谢各位