Если вы спрашиваете, можете ли вы сделать запрос по нескольким полям, ответ «да». Например, для фильтрации по марке и цвету:
ref.where('colour', '==', 'white').where('brand', '==', 'a brand')
Подробнее об этом см. Документацию Firebase по фильтрации данных и составных запросов .
* 1009. * Вам, конечно, нужно будет передать оба значения в ваш метод
filterProducts
, чтобы иметь возможность их использовать.
Если вы хотите добавить условие только тогда, когда пользователь указал значение для этого фильтра, вы должны сделать что-то вроде этого:
ref = firebase.firestore.collection(...); // whatever you already have
if (colourValue) {
ref = ref.where('colour', '==', colourValue);
}
if (brandValue) {
ref = ref.where('brand', '==', brandValue);
}