ここでの回答が遅れていることはわかっていますが、今は似たようなものが必要であり、updateWithPriority
存在しません(フォージで優先度を簡単に表示/編集する方法もありません)。
特別な名前のキーを.priority
更新に含めることができ、目的の効果が得られるはずです。
.priority
キーはFirebase REST APIに記載されていますが、他のライブラリで使用できます。
したがって、Javascript では、優先度のみを更新したい場合は次のように動作します (そのsetPriority
ためにあります)。
var fb = new Firebase("http://a_firebase.firebaseio.com");
var ref = fb.child("/path/to/child");
var data = { ".priority": (new Date()).getTime() } //timestamp, as you mentioned
ref.update(data);
他のプロパティを更新しているときに優先度を変更したい場合は、更新するデータに含めるだけです。
var fb = new Firebase("http://a_firebase.firebaseio.com");
var ref = fb.child("/path/to/child");
var data = {
"property1": "updated_val",
"property2": "updated_val2",
".priority": (new Date()).getTime(), //timestamp, as you mentioned
}
ref.update(data);
編集:明確にするために、これは子参照の場所の優先度(つまり/path/to/child
) を更新し、更新される個々の子の優先度 (つまり と の優先度) ではありませproperty1
んproperty2
。更新中の子に優先度を含めたい場合で、子がリーフ ノード (つまり、文字列、数値、ブール値) である場合は、特別な名前.value
のキーをキーと組み合わせて使用できます.priority
。
次の例は、更新元のルート ロケーション (つまりpath/to/child
) と更新中の両方の子 (つまりproperty1
とproperty2
) の優先度を更新する方法を示しています。明らかに、すべてを更新したくない場合は、更新する優先度を選択的に選択できます。
var fb = new Firebase("http://a_firebase.firebaseio.com");
var ref = fb.child("/path/to/child");
var newPriority = (new Date()).getTime(); //timestamp, as you mentioned
var data = {
"property1": {".value": "updated_val", ".priority": newPriority},
"property2": {".value": "updated_val2", ".priority": newPriority},
".priority": newPriority
}
ref.update(data);