我有一个简单的Firebase数据库,看起来像这样:
Long
我想发出REST PUT请求,以便将app-name
᠁
[-]⋯Users
᠁
᠁⋯⋯ Daniel: daniel@gmail.com
᠁
᠁⋯⋯ John: john@gmail.com
添加到数据库,该请求应看起来像这样:
Peter: peter@gmail.com
我正在使用以下javascript代码:
app-name
᠁
[-]⋯Users
᠁
᠁⋯⋯ Daniel: daniel@gmail.com
᠁
᠁⋯⋯ John: john@gmail.com
᠁
᠁⋯⋯ Peter: peter@gmail.com
问题在于,当我调用httpPut: function(){
var xhr = new XMLHttpRequest();
xhr.open('PUT', "https://app-name.firebaseio.com/Users.json", true);
xhr.setRequestHeader('Content-type', 'application/json');
xhr.onload = function () {
cc.log(this.responseText);
};
xhr.send("{\"Peter\": \"peter@gmail.com\"}");
},
时,它实际上仅用httpPut()
覆盖了所有Users内容,像这样:
Peter: peter@gmail
我该怎么做才能仅添加一行而不覆盖所有用户内容?
答案 0 :(得分:0)
您应该使用:
放置写入请求(设置数据/重写)
发布添加请求(如javascript数组推送)
修补程序更新
https://firebase.google.com/docs/reference/rest/database/#section-patch
如果从不支持上述方法的浏览器进行REST调用,则可以通过发出POST请求并使用X-HTTP-Method-Override请求标头设置方法来覆盖请求方法
https://firebase.google.com/docs/reference/rest/database/#section-method-override