LoadedMechanics - это пустой массив:
Тогда обязательно user.isMechanic
будет undefined
или null
Посмотрите на следующий пример
let data = [
{
},
{
IsMechanic: undefined
},
{
IsMechanic: null
},
{
IsMechanic: false
}
]
console.log(data)
data = data.filter(pr => pr.IsMechanic === false)
console.log(data)
filter
функция игнорирует большинство случаев.
Теперь вопрос в том, что такое users
объект? Похоже, массив документов для меня. Обычно, чтобы получить все свойства из документа, вы должны использовать ... функцию data ().
users.map(user => ({
id: user.id,
...user.data()
}))
Вы делали это в вашей this.usersService.users
наблюдаемой?
- Edit
Вы можете изменить следующий код
const data = []
docs.forEach((doc) => {
data.push(doc);
this._mechanics.next(data);
});
на
const data = docs.docs.map(doc => ({id: doc.id, ...doc.data()}));
this._mechanics.next(data);
Также в соответствии с документами
Вы должны фильтровать логические свойства, используя буквальные значения, а не двойные кавычки
.where("isMechanic", "==", "false")
.where("isMechanic", "==", false)