Я прочитал все ответы на похожие вопросы, но проблемы и решения отличаются от того, что я испытываю, например, попытка запроса удаленного документа или наличие свойства вместо вложенной коллекции.
Вот изображение моей базы данных:
Я пытаюсь получить счетчик, где все DrilledDepthTolerance.toleranceState равен "notMeasured".
Я выполнил запрос и настроил индекс в FireStore, перейдя по ссылке в сообщении об ошибке. Он настроил следующее в Индексе для одного поля в разделе Исключения:
Я думаю, что это может быть проблемой - документация, кажется, всегда описывает индекс, добавляемый в составной индекс, и это создается под одним полем?
Вот мой код (извините, он в c#):
try
{
var collectionRGroupRef = db.CollectionGroup("DrilledDepthTolerance");
Query query = collectionRGroupRef.WhereEqualTo("toleranceState", "notMeasured");
QuerySnapshot querySnapshot = await query.GetSnapshotAsync();
return querySnapshot;
}
catch (Exception e)
{
return null;
}
Возвращает количество документов, равное нулю.
В базе данных есть документ, соответствующий критериям запроса.
Я посмотрел примеры, и настройки моей базы данных, похоже, соответствуют требуемым настройкам из образцов. Из документа Firestore данные, которые я буду запрашивать в моей базе данных, будут такими же, как и поиск подколлекций, где в этом примере имя = "Ада":
https://firebase.google.com/docs/firestore/manage-data/structure-data
Буду очень признателен за некоторые указания о том, где я иду не так.