我正在使用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() + "' ";
}