Моя модель камина похожа на
{продукты: ['сливочное масло, сыр': {"Энергия - ккал": 122, "Углеводы - г": 33, "Жиры - г":23}.,]}
let query = db.collection("foods");
let list = ["Energy - kcal","Carbohydrate - g"];
for(let i=0;i<list.length;i+=1) {
let each = list[i];
switch (each) {
case "Energy - kcal":
query = query.orderBy("Energy - kcal","desc");
break;
case "Carbohydrate - g":
query = query.orderBy("Carbohydrate - g","desc");
break;
case "Cholesterol - g":
query = query.orderBy("Cholesterol - g","desc");
break;
case "Fat - g":
query = query.orderBy("Fat - g","desc");
break;
case "Protein - g":
query = query.orderBy("Protein - g","desc");
break;
case "Fatty acids - g":
query = query.orderBy("Fatty acids - g","desc");
break;
case "Sodium - mmg":
query = query.orderBy("Sodium - mmg","desc");
break;
case "Potassium - mmg":
query = query.orderBy("Potassium - mmg","desc");
break;
case "sugar":
query = query.orderBy("sugar","desc");
break;
case "fiber":
query = query.orderBy("fiber","desc");
break;
case "calcium":
query = query.orderBy("calcium","desc");
break;
case "iron":
query = query.orderBy("iron","desc");
break;
case "vitamin_a":
query = query.orderBy("vitamin_a","desc");
break;
case "vitamin_c":
query = query.orderBy("vitamin_c","desc");
break;
}
}
Я попытался проиндексировать все атрибуты в порядке убывания, но все еще получаю
Ошибка: 9 FAILED_PRECONDITION:Для запроса требуется индекс
Каким должен быть правильный способ определения того, какие поля используются при индексации и как я могу воспользоваться возможностью Cloud Firestore объединять индексы?
Спасибо