我曾經使用com.couchbase.lite:couchbase-lite-android:2.0.0-DB008直到上週,並知道它似乎被刪除,因爲我不能將它導入到android studio的Gradle中,所以我不得不使用最新版本的couchbase com.couchbase.lite:couchbase-lite-android:2.0.0-158。獲取文檔在Couchbase v2.0
有了這個版本,我不能檢索文檔,因爲它沒有getDocumentId()方法,我們不能用database.getDocument(docID的);
這是我已保存的文件代碼:
Document document = new Document();
document.setInt("RecordType", 100);
document.setString("Number", "1234567890");
document.setDate("Date", new Date());
document.setString("Text", "This is message text.");
try {
database.save(document);
tvResult.setText(document.getId());
} catch (Exception e) {
e.printStackTrace();
Log.e(LOG_TAG, e.toString());
tvResult.setText(e.toString());
}
,這是應該檢索文件的代碼:
Query query = Query.select()
.from(DataSource.database(database))
.where(
Expression.property("RecordType").equalTo(100)
);
try {
ResultSet rows = query.run();
Result row;
while ((row = rows.next()) != null) {
row.hashCode()
tvResult.append("DocumentID: " + row.getString("documentID") + "\n" +
"Number: " + row.getString("Number") + "\n" +
"Date: " + row.getDate("Date") + "\n\n"
);
}
} catch (Exception e) {
Log.e(LOG_TAG, e.toString());
tvResult.setText(e.toString());
}
行的所有給空數據。
有什麼辦法可以檢索到所有的文件及其ID嗎?
有一個'Meta'類可以用來獲取ID等信息。 'Expression.meta().id'或等價物可以放入Select中。 – borrrden