2016-07-12 13 views

答えて

1

私はあなたがそれを変更したときのノードの前の値を取得したいと思います。

Firebaseはこれに対応するソリューションを提供していないため、以前の値をどこかに保存する必要があります。

私の解決策は、ノードの子に以前の値を格納することです。あなたが値更新したいときに

1):あなたはこのようにそれを行うことができますが、値を取得できるように

var new_name = "Sonich" 
FireBaseRef.once('value', function(snapshot) { 
    var prev_name= snapshot.val(); // Sonta 
    FireBaseRef.set({ 
    "value": new_name, 
    "prev_value": prev_name 
    }) 
}); 

2)、この方法:

FireBaseRef.on('value', function(snapshot) { 
    snapshot = snapshot.val() 
    var previous_name= snapshot.prev_value;//Sonich 
    var new_name = snapshot.value; //Sonita 
}); 
+0

優先度をもう使用しないでください。それはまだサポートされている機能ですが、最近はもっと良い方法があります。名前付きの子を作成するのと同じくらい簡単で、可読性と保守性が向上します。 –

+0

ああ、アドバイスのために@Pufに感謝します。私は多くの異なるメタデータを保存するために優先順位を使用しましたが、将来削除される予定ですか? –

+1

現時点ではそう思わないでしょう。しかし、私たちはむしろ、開発者が新しいユースケースを見つけるのを遠ざけようとしているのを見ています。 :-) –

関連する問題