У меня есть таблица с 4 отображаемыми столбцами (email-firstname-фамилия-навыки), хранящимися в источнике данных, один из них - столбец «Навыки», и это массив, эти четыре столбца извлекаются из базы данных, моделидля пользователя:
Email [string]
firstname [string]
lastname [string]
skills
{
skill(id - reference to _id){
_id: [id]
name: [string]
}
}
Я попытался использовать фильтр из углового урока без удачи
Я пытался использовать этот код здесь
applyFilter(filterValue: string, abc: string) {
// this.dataSource.filter = filterValue.trim().toLowerCase();
// console.log(this.dataSource.filter)
const re = { $regex: new RegExp(filterValue).source, $options:'gi' };
this.userService.getUsers({
'$or': [
{ firstname: re} ,
{ lastname: re },
{ email: re },
{ 'skills.skill.name': re }
]
}).subscribe(users => {
this.dataSource.data = users;
// console.log(users)
})
}
Я ожидаю, что фильтрработает на всю таблицу, но вместо этого код работает на все столбцы, кроме столбца «Навыки», любая идея?
Обновление:
структура дБ
на этом изображении есть моя структура mongodb, есть ли способ автоматического заполнения поля 'Skillname' через поле 'Skill', которое ссылается на другую структуру db?