Я написал запрос для фильтрации некоторых данных на основе диапазона дат и хочу упорядочить результат по некоторому полю (Int). Код, который я написал, генерирует исключение «FIRInvalidArgumentException».
Если я удалил "order by", тогда запрос выполнится идеально. Я уже создал индекс для 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)
Есть ли проблемы с использованием заказа по диапазону дат? Нужно ли для этого создать специальный индекс?
Ценю всю помощь.