私はCity(複数のブロックを持つ)、Block(複数のAreaを持つ)、Area(1対多の関係は他のモデルに続き、ここには表示されません)の3つのモデルを持っています。angularfire2でリンクされた参照を削除する方法は?
画像からは、データを平坦化して$key
の参照を使用しています。
私の質問は、このデータを保存する最良の方法とリンクされたすべての参照を削除する方法です。ある都市が削除されたとき、ブロックの参照とブロックにリンクされたすべての領域を削除する必要があります。以下は
データ構造は、私は今、削除するために使用していたコードは、点で最大エリアの削除ではありません
です:
deleteCity(city: City): void {
this.af.database.list(`/cities/${city.$key}/blocks`, { preserveSnapshot: true })
.subscribe(snapshots => {
snapshots.forEach(snapshot => {
this.af.database.object(`/blocks/${snapshot.key}`).remove();
});
});
this.af.database.list('/cities').remove(city.$key).then(
() => this.appstore.dispatch({ type: DELETE_CITY, payload: city})
);
}
データ設計とも削除について提案して下さいプロセス。