0
我尝试建立一个deleteAll函数,该函数删除与给定存储库和类关联的所有文档。为此,我创建了一个自定义N1ql查询。但是我希望在以后的数据库操作发生之前更新Couchbase索引。我的猜测是,我必须改变查询的一致性级别来实现这种行为。 Here和here我发现了一些使用CouchbaseTemplate的例子。但我的模板是空的。有人能告诉我我做错了什么吗?在Spring Data Couchbase中定义查询一致性
public void deleteAll() throws DBException {
CouchbaseOperations couchbaseTemplate;
try {
couchbaseTemplate = templateProvider.resolve(getRepository().getClass(), getClassName().getClass());
} catch (Exception e) {
throw new DBException("Could not get couchbase client", e);
}
String statement = String.format("DELETE FROM %s WHERE _class='%s'",
couchbaseTemplate.getCouchbaseBucket().name(), getClassName());
ScanConsistency consistency = couchbaseTemplate.getDefaultConsistency().n1qlConsistency();
N1qlParams queryParams = N1qlParams.build().consistency(consistency);
N1qlQuery query = N1qlQuery.simple(statement, queryParams);
N1qlQueryResult result = couchbaseTemplate.queryN1QL(query);
//Result handling
}
}
templateProvider
是自动布线的。