我知道我在这里的答案已经很晚了,但我只是遇到了类似的东西现在updateWithPriority
并不存在(也没有一种在 Forge 中轻松查看/编辑优先级的方法)。
您可以在更新中包含特殊名称的密钥,.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
来执行此操作。
以下示例显示如何更新发生更新的根位置 (ie path/to/child
) 以及正在更新的子节点 (ieproperty1
和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);