Могу ли я запросить коллекцию Cloud Firestore с предложением where equals и orderby?

В документации говорится:

Однако, если у вас есть фильтр со сравнением диапазонов (‹,‹ =,>,> =), ваш первый заказ должен быть в том же поле:

Это означает, что я могу использовать сравнение без диапазона, "==", с предложением orderBy. Но это не удается:

myCollectionRef.where('age', '==', 2).orderBy('name');

person Paul    schedule 19.10.2017    source источник


Ответы (1)


Если вы хотите заказать запрос с одним или несколькими фильтрами равенства, где упорядочение выполняется по другому полю, вам необходимо создать составной индекс.

Подробнее об этом можно прочитать в разделе документации «Управление индексами».

person Dan McGrath    schedule 19.10.2017
comment
Спасибо. Является ли эта функция кандидатом на дальнейшее развитие? возможность иметь фильтры равенства, а также упорядочивание в другом поле без составных индексов? Или вряд ли ...? Я заметил, что можно использовать несколько фильтров равенства, не требуя настраиваемых индексов. - person Paul; 19.10.2017
comment
К сожалению нет. Мы можем использовать разные методы для фильтров равенства - person Dan McGrath; 19.10.2017
comment
Какие различные методы мы можем использовать для этих типов запросов? Можете ли вы помочь мне в решении этого вопроса? stackoverflow.com/questions/46874499/ - person Chandra Sekhar; 22.10.2017