Я написал запрос для фильтрации некоторых данных на основе диапазона дат и хочу упорядочить результат по какому-либо полю (Int). Написанный мной код генерирует исключение «FIRInvalidArgumentException».
Если я убрал «порядок по», запрос будет выполнен отлично. Я уже создал индекс для полей visitDate и views.
Индекс: visitDate По возрастанию просмотров по убыванию
let calendar = Calendar.current
let currentDateComponents = DateComponents(
calendar: calendar,
year: calendar.component(.year, from: Date()),
month: calendar.component(.month, from: Date()),
day: calendar.component(.day, from: Date()),
hour: 0,
minute: 0)
guard let currentDate = calendar.date(from: currentDateComponents) else {
print("error");
return
}
guard let weekEndDate = calendar.date(byAdding: .day, value: -7, to: currentDate) else {
print("error");
return
}
let queryRef = Firestore.firestore().collection("ArticleVisits")
.whereField("visitDate", isGreaterThanOrEqualTo: weekEndDate)
.whereField("visitDate", isLessThanOrEqualTo: currentDate)
.order(by: "views", descending: true)
.limit(to: limit)
Есть ли проблема с использованием порядка по с диапазоном дат? Нужно ли мне для этого создавать специальный индекс?
Цените всю помощь.