Первый выполненный вами запрос:
query = await query.where("league_id", "==", "468");
Будет отлично работать, поскольку у вас есть свойство league_id
, которое содержит значение 468
, однако добавляется следующий вызов:
query.where("matches", "array-contains", "jornada");
Это не будет работать, потому что вы указываете Firestore возвращать все документы, которые содержат в массиве matches
строку jornada
. Это невозможно, поскольку в массиве matches
вы не храните строковые значения. matches
на самом деле является массивом, который содержит объекты, объекты, которые в терминах содержат некоторые свойства типа array. Такие запросы на самом деле не поддерживаются Firestore.
Вместо этого вы можете создать другое свойство массива в вашем документе, которое фактически будет содержать строковые значения. Добавьте в этот массив точные значения String, по которым вы хотите фильтровать данные, и второй запрос тоже будет работать.