Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot 如何在couchbase中使用类似n1ql的查询?_Spring Boot_Couchbase_N1ql - Fatal编程技术网

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运行良好,响应正确。多谢各位