spring-data-jpa - 我们可以将 N1QL 转换为 shEL 查询以供 Spring 使用吗
问题描述
我正在研究spring和couchbase,现在想在我的spring API的帮助下将数据上传到couchbase,但知道spring不支持N1QL,所以有没有其他方法可以实现这一点或shEL查询
insert into bucket1(key,value)
values("Aman--12/04/1995",
{
"English":[{ "midterm": 34, "endterm": 67 }],
"Maths":[{ "midterm": 20, "endterm": 40 }],
"Computer":[{ "midterm": 48, "endterm": 90 }]
})
UPDATE bucketName USE KEYS id
SET arrayname = ARRAY_PUT(IFNULL(Arrayname[]),{"Sports": "89"})
解决方案
如果你不能通过 spEL 做某事,你可以随时使用纯 n1ql:
@Override
public void updateAreaName(String areaName, String areaId) {
String queryString = "UPDATE "+getBucketName()+" set areaName = '"+areaName+"' WHERE "+getClassFilter()+" " +
" and areaId = '"+areaId+"' RETURNING meta().id";
N1qlParams params = N1qlParams.build().consistency(ScanConsistency.REQUEST_PLUS).adhoc(true);
ParameterizedN1qlQuery query = N1qlQuery.parameterized(queryString, JsonObject.create(), params);
resourceRepository.getCouchbaseOperations().getCouchbaseBucket().query(query);
}
private String getBucketName() {
return resourceRepository.getCouchbaseOperations().getCouchbaseBucket().bucketManager().info().name();
}
private String getClassFilter(){
return "_class = '" + QResource.class.getName() + "' ";
}
推荐阅读
- java - Listview 项目没有被删除
- node.js - 在 NODEJS 应用程序中的 npm 审计修复出现错误 2 漏洞需要手动审查并且无法更新之后
- sql - 如何将 msdb 从 SQL Server 迁移到 Azure SQL 数据库?
- c++ - 模板化的朋友声明在 g++ 5.4.0 下不起作用——编译器错误或错误代码?
- angular - 如何解决此错误找不到模块:错误:无法解析“fs”
- ghost-blog - 语法突出显示不适用于 Prismjs
- css - 使用 Jekyll 使用 SCSS 更新 CSS
- opengl - 仅对 x 和 y 应用透视划分?
- python - 删除python中的第一个标题行
- python - 有没有办法使用 CSS 在 Scrapy 中提取文本以及文本链接?