Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.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
Java 用于删除文档的Couchbase视图_Java_Spring_Couchbase - Fatal编程技术网

Java 用于删除文档的Couchbase视图

Java 用于删除文档的Couchbase视图,java,spring,couchbase,Java,Spring,Couchbase,我正在使用couchbase服务器和spring数据。对于crud操作,我也使用springorg.springframework.data.repository.crudepository。我想删除具有相同域名的用户文档。域是用户pojo的一个属性。我能够根据域属性值获取文档 这是我的回购类 public interface UserRepository extends CrudRepository<User, String>{ List<User> find

我正在使用couchbase服务器和spring数据。对于crud操作,我也使用spring
org.springframework.data.repository.crudepository
。我想删除具有相同域名的用户文档。域是用户pojo的一个属性。我能够根据域属性值获取文档

这是我的回购类

public interface UserRepository extends CrudRepository<User, String>{

    List<User> findByDomain(Query query);

    void deleteByDomain(Query query);

}
这适用于获取相同域名中的所有文档。因此,我对deleteByDomain()函数使用了相同的视图。这给了我一个错误。看起来这个视图只适用于获取数据。如何删除同一域中的文档?谢谢

org.springframework.core.convert.ConversionFailedException: Failed to convert from type java.util.ArrayList<?> to type void for value '[com.link.pojo.User@21dfd606, com.link.pojo.User@6e5c3549, com.link.pojo.User@67ae8439, com.link.pojo.User@726aef5c]'; 
nested exception is org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type java.util.ArrayList<?> to type void
        at org.springframework.core.convert.support.ConversionUtils.invokeConverter(ConversionUtils.java:41)
        at org.springframework.core.convert.support.GenericConversionService.convert(GenericConversionService.java:192)
        at org.springframework.core.convert.support.GenericConversionService.convert(GenericConversionService.java:176)
        at org.springframework.data.repository.core.support.QueryExecutionResultHandler.postProcessInvocationResult(QueryExecutionResultHandler.java:75)
org.springframework.core.convert.conversionfailedeexception:无法将值“[com.link.pojo”的类型java.util.ArrayList转换为类型void。User@21dfd606,com.link.pojo。User@6e5c3549,com.link.pojo。User@67ae8439,com.link.pojo。User@726aef5c]'; 
嵌套异常为org.springframework.core.convert.ConverterNotFoundException:未找到能够从java.util.ArrayList类型转换为void类型的转换器
位于org.springframework.core.convert.support.ConversionUtils.invokeConverter(ConversionUtils.java:41)
位于org.springframework.core.convert.support.GenericConversionService.convert(GenericConversionService.java:192)
位于org.springframework.core.convert.support.GenericConversionService.convert(GenericConversionService.java:176)
位于org.springframework.data.repository.core.support.QueryExecutionResultHandler.postProcessInvocationResult(QueryExecutionResultHandler.java:75)

视图需要为视图中的每个对象发出对象ID。然后获取该ID数组,对每个ID调用delete。如果它适合您的用例,一个更好的方法应该是在每个要删除的对象上设置一个从现在到X小时/天/任何时间之间的随机TTL,如果要删除的对象太多,那么应该减少集群上的负载。然后Couchbase服务器将在它们以交错方式过期时删除它们。如果需要尽快删除它们,那么显然要对对象ID使用delete调用

org.springframework.core.convert.ConversionFailedException: Failed to convert from type java.util.ArrayList<?> to type void for value '[com.link.pojo.User@21dfd606, com.link.pojo.User@6e5c3549, com.link.pojo.User@67ae8439, com.link.pojo.User@726aef5c]'; 
nested exception is org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type java.util.ArrayList<?> to type void
        at org.springframework.core.convert.support.ConversionUtils.invokeConverter(ConversionUtils.java:41)
        at org.springframework.core.convert.support.GenericConversionService.convert(GenericConversionService.java:192)
        at org.springframework.core.convert.support.GenericConversionService.convert(GenericConversionService.java:176)
        at org.springframework.data.repository.core.support.QueryExecutionResultHandler.postProcessInvocationResult(QueryExecutionResultHandler.java:75)