Раньше я использовал com.couchbase.lite: couchbase-lite-android: 2.0.0-DB008 до прошлой недели и знаю, что он, кажется, был удален, потому что я не мог импортировать его в Gradle в студии Android, поэтому мне пришлось использовать последнюю версию couchbase com.couchbase.lite: couchbase-lite-android: 2.0.0-158.
В этой версии я не могу получить документы, потому что у нее нет метода 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());
}
Все строки содержат нулевые данные.
Есть ли способ получить все документы и их идентификаторы?