2017-04-21 5 views
0

FirebaseListObservable의 일부 데이터를 필터링하고 싶지만 수행 방법을 모르겠습니다. 일반적인 경우 here은 해결책이지만 실시간 데이터베이스를 사용하면 작동하지 않습니다. 도와주세요.Angular2 + 필터 파이어베이스 데이터

+0

그런 경우이 검색 필터 만 사용하십시오. 예상 된 결과가 나옵니다. 하지만 그렇지 않다면 당신이 시도한 것은 무엇이든 그냥 여기에 게시하려합니다. –

+0

이렇게 데이터베이스에서 데이터를 가져옵니다. * ngFor = "let pos of post | async"가 작동하지만 검색 표시 줄에서 일부 필터를 만들고 싶습니다. 필터 파이프를 추가했습니다. 이런 식으로 * ngFor = "let pos of post | async | searchFilter : search.value"하지만 작동하지 않습니다 –

답변

1

전체 목록을 쿼리하고 클라이언트 측에서 필터링하는 것은 매우 효과적입니다. 매개 변수를 사용하여 쿼리를 만들어야하므로 구독에 필요한 데이터 만 얻을 수 있습니다. 아래 예제는 다른 쿼리 매개 변수를 쿼리 개체에 삽입 할 수 있습니다. 검색어 매개 변수에 대한 자세한 내용은 여기를 참조하십시오. https://firebase.google.com/docs/reference/js/firebase.database.Query

export class AppComponent { 
    constructor(af: AngularFire) { 
    let listWithQuery = af.database.list('/items', { 
     query: { 
     equalTo: 'something', 
     orderByKey: true 
    } 
    }); 
    } 
} 
+0

equalTo 검색 창에 포함 된 모든 것을 제공하지 않고 키 값과 정확히 일치하는 단어를 제공합니다. 데이터베이스하지만 내 경우에는 모든 컬렉션에서 검색하고 싶다. –