0

私はfirebaseにプッシュされたデータを取得しようとしているので、別のプッシュで$keyを使用してデータを正規化しようとしました。anglefireを押し込んだ後でundefinedを返す

pushData(fbPath: string, data): any { 
    return new Promise(resolve => { 
     resolve(this.af.database.list(fbPath).push(data)); 
    }); 
    }); 
} 

とコンポーネントで、私は、ユーザーがフォーム

を記入した後に呼び出され、単純なコールを持っている:私は約束を返すプロバイダがangularfire 2とイオン2

を使用しています

this.api.pushData('organisations/', organisation).then(org => { 
    console.log(org); 
}); 

しかしconsole.logに私が取得

enter image description here

ほとんど使用できません。私が返すことにしたいのは$keyです。現在はorg.path.o[1]にありますが、私は使用できると思っていますが、それはちょっと揺れるようです。

なぜthencatchが不明なのか不思議です。返されたデータは、それが述べAngularfire2ドキュメントでは、単純な

getData(fbPath: string) { 
    return new Promise(resolve => { 
    this.af.database.list(fbPath).subscribe(res => resolve(res)); 
    }); 
} 

で、firebaseからデータを取得するときに非常に簡単ですので、

{ 
    '$key':'-KfB5tltOeuXpQ_pRzR3', 
    'name':'My New Organisation', 
    'registeredDate':345345345345 
} 

のようなきちんとしたオブジェクトであるために私が希望しています保存データ(.list)にプッシュメソッドで約束が返されたことを示します。私はちょうどそれが適切に動作するように感じることはできません。

答えて

0

ネイティブのファイヤーベース(angularfire2でラップされていない)では、このような奇妙に見えるオブジェクトを取得すると、その上で.val()を呼び出してきれいにフォーマットされたオブジェクトを取得できます。

確認しませんでしたが、それは仕事をする可能性が高いです。

関連する問題