Я создаю приложение, используя React + Redux + Firebase. В коллекции пользователей Firestore у меня есть несколько полей, включая язык, тему в качестве данных карты. Так, например,
// language that user can speak
language = {
english: true
}
// subjects that the user can teach
subject = {
math: true
science: true
}
В основном приложении пользователь может искать других пользователей, отфильтровывая темы и языки. Например, пользователь может искать других пользователей, которые могут преподавать «математику» и «естествознание», используя «английский» язык.
И я борюсь с фильтрацией нескольких полей в данных карты. Я мог бы запросить на поле, выполнив ref.where('subject.${val}', '==' , true)
. Но есть ли способ сделать запрос по нескольким полям, чтобы получить документ, который содержит хэш темы по любому количеству объектов?
Я пытался поместить данные в массив, но в настоящее время членство в массиве Firebase поддерживает фильтрацию только одного элемента в массиве. Так что я думаю, это хорошее начало с хранения в хэш-карте. Любое предложение?