У меня проблема с условием запроса в Google Cloud Firestore.
Любой может мне помочь.
Ниже мойкод для получения первого документа Начало с HA_ и порядок по ID DESC
public Article getLastArticleProvider() {
ApiFuture<QuerySnapshot> query = firebaseDB.getTblArticles()
.whereGreaterThanOrEqualTo("articleId", "HA_")
.orderBy("id", Query.Direction.DESCENDING)
.limit(1)
.get();
QuerySnapshot snapshotApiFuture;
Article article = null;
try {
snapshotApiFuture = query.get();
List<QueryDocumentSnapshot> documents = snapshotApiFuture.getDocuments();
for (QueryDocumentSnapshot document : documents) {
article = document.toObject(Article.class);
}
} catch (InterruptedException | ExecutionException e) {
return null;
}
return article;
}
Я хочу получить последний идентификатор статьи с articleId, начинающийся с "HA_" или "XE _"
Пример вышеimage:
- if (articleId начинается с "HA_") => вернуть объект с идентификатором 831
- if (articleId начинается с "XE_") => вернуть объект с идентификатором 833
Теперь у меня появляется ошибка
java.util.concurrent.ExecutionException: com.google.api.gax.rpc.InvalidArgumentException: io.grpc.StatusRuntimeException: INVALID_ARGUMENT:Свойство фильтра неравенства и первый порядок сортировки должны совпадать: articleId и id