2016-11-12 6 views
2

でマイfirebaseテーブルを照会した後、プロパティを取得するには、次のようなものです:Firebase - どの子

posts 
    randomId 
    username 
    age 

私は子供で照会して、全体ではなくオブジェクトを返すことができるようにしたいだけのプロパティを返しI必要。

subscribePostsAgeForUsername(username: string): Observable<string[]>{ 
    return this.af.database.list('posts', { 
    query: { 
     orderByChild: 'username', 
     equalTo: username 
    } 
}); 

今のところ、オブジェクト全体が返されます。私は年を返すだけです。

+1

Firebaseは、関係のないデータベースのように思っています。年齢だけが必要な場合は、目的の結果が得られるようにスキーマを変更する必要があります。 –

答えて

0

あなたは注意rxjs

return this.af.database.list('posts', { 
    query: { 
     orderByChild: 'username', 
     equalTo: username 
    } 
}).map(posts => posts.map(post => post.property_you_need)); 

から地図演算子を使用することができます。あなたがこの方法を使用する場合それでもangularfireリストからオブジェクト全体を取得し、ちょうどマップでそれを簡素化。あなたの主な理由がプロパティを取得するだけでパフォーマンスを向上させている場合、それはfirebaseでそのように動作しません。必要に応じてデータベースを再構成する必要があります。

関連する問題