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
是自動佈線的。