2017-04-11 20 views
0

AngularFire2とFirebaseでIonic2を使用しています。 Firebaseのノードの下にリスト/アレイがあります。項目はpush()機能で追加されます。以下はその構造です。Firebaseリストから1つのアイテムを削除/更新する

node: 
    -KhPSh52vq2m23le1qZ5: "value1" 
    -KhPShqhHDVuxeUbryT7: "value2" 
    -KhPSijWf_EuwmCHPJjv: "value3" 

ここで、リストから1つのアイテムをクエリして削除する必要があります。私は、次のコードと正しいFirebaseListObservableを取得してクエリを実行しています。この後

this.af.database.list(`node`, { 
     query:{ 
      orderByValue: true, 
      equalTo: 'value1' 
     } 
     }); 

を削除する方法/リスト

答えて

2

観察は、saving and removing itemsためのいくつかのメソッドを公開リストからこの単一の項目を更新します。削除するアイテムのキーを渡してremoveに電話する必要があります。

let list = this.af.database.list('node', { 
    query:{ 
    orderByValue: true, 
    equalTo: 'value1' 
    } 
}); 

// Query the list for the purposes of this example: 
list.first().subscribe((items) => { 

    // Remove the matching item: 
    if (items.length) { 
    list.remove(items[0].$key) 
     .then(() => console.log('removed ' + items[0].$key)) 
     .catch((error) => console.log(error)); 
    } 
}); 
+0

これは機能しませんでした。私はパラメータを知っているので、キーを削除する必要があります。ここで、value1はキーではなく、その値です。 –

+0

はい、そうです。私は答えを更新しました。 – cartant

+0

私がsubscribeを使用しても、リストに変更があるたびにトリガされませんか?私はこのシナリオを避けたい。 –

関連する問題