Чтобы устранить полученную ошибку, необходимо сначала упорядочить по полю created
, как указано ниже:
db
.collection(MY_COLLECTION)
.where('created', '>', new Date(fromDate))
.orderBy('created', 'desc')
.orderBy('score', 'desc')
Это указано в документации :
Если у вас есть фильтр со сравнением диапазона (<, <=,>,> =), ваш первый порядок должен быть в том же поле.
Обратите внимание, что вы будете нужно создать индекс для этого запроса. Для этого просто выполните запрос один раз, и в появившемся сообщении об ошибке вы найдете URL-адрес для вызова индекса для создания индекса.
Если вы хотите запросить все документы между двумя даты, вы можете использовать запрос как:
db
.collection(MY_COLLECTION)
.where('created', '>', new Date(fromDate))
.where('created', '<=', new Date(toDate))
.orderBy('created', 'desc')
.orderBy('score', 'desc')