【问题标题】:Push to Firebase via REST API with Priority通过 REST API 优先推送到 Firebase
【发布时间】:2012-06-07 02:10:36
【问题描述】:

是否可以使用 REST API 将事件推送到列表(通过 HTTP POST)并指定要推送的项目的优先级?也许作为我以某种方式发布的 JSON 中的一个字段?

类似这样的东西(半伪代码):

var myObj = {name: 'My Name', address: 'My Address'};
myObj['priority'] = 123;

$.post('http://demo.firebase.com/demo/testing.json', myObj);

我可以使用本机 Javascript 库通过以下方式执行此操作,但这不使用 REST API:

var fb = new Firebase('http://demo.firebase.com/demo/testing');
var foo = fb.push({name: 'My Name', address: 'My Address'});
foo.setPriority(1);

【问题讨论】:

    标签: firebase


    【解决方案1】:

    是的!要发布具有优先级的数据,您可以使用:

    var myObj = JSON.stringify({name: 'My Name', address: 'My Address', '.priority': 123});
    $.post('http://demo.firebase.com/demo/testing.json', myObj);
    

    如果您想发布具有优先级的原始值(例如“hello”),请使用:

    var myObj = JSON.stringify({'.value': 'hello', '.priority': 123});
    $.post('http://demo.firebase.com/demo/testing.json', myObj);
    

    【讨论】:

    • @Michael:如果在官方文档中有.value.priority 设置就好了。
    • @mattedgod 好点。我们确实提到了.priority,但没有提到.value。我已经更新了文档,它们应该会在几天后上线。谢谢!
    • @Michael 还是这样吗?从您的文档(和我的测试)来看,您似乎必须使用 PUT 来设置优先级(“优先级可以用 GET 读取并用 PUT 写入”来自firebase.com/docs/rest-api.html)。这使得您似乎只能在节点上设置数据,而不能将其他数据推送到其中。
    • @jnevelson 情况仍然如此。如果您只想在 Firebase 中设置某些数据的优先级(而不更改其余数据),您可以对 https://YOUR.firebaseio.com/path/to/item/.priority/ 执行 PUT。 json 作为文档提到的。如果你想要 push() 的等价物,你可以使用 POST [即将新项目附加到 Firebase 位置]。如果你想为新项目设置优先级(这就是这个问题的目的),你可以选择包含 .priority。
    猜你喜欢
    • 1970-01-01
    • 2013-01-30
    • 2016-11-04
    • 2015-08-05
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 2017-07-04
    • 2019-05-07
    相关资源
    最近更新 更多