firebase数据库REST更新数字数据

firebase数据库REST更新数字数据,rest,firebase,firebase-realtime-database,Rest,Firebase,Firebase Realtime Database,我正在使用firebase数据库REST api发布数据。结构是 orders: { "milk" : 10, "cream" : 13 } 我的用例是将数量增加1,将其视为: orders: { "milk" : 11, "cream" : 14 } 一般来说,我看到两个REST调用: 拨打GET电话以获取我的客户机中的当前号码 使用更新的号码拨打PUT电话 有没有一种方法可以通过单个调用来增加当前值?如果您使用的是一个Firebase SDK,这将通过事务()完成

我正在使用firebase数据库REST api发布数据。结构是

orders: {
"milk" : 10,
"cream" : 13
}
我的用例是将数量增加1,将其视为:

orders: {
    "milk" : 11,
    "cream" : 14
    }
一般来说,我看到两个REST调用:

  • 拨打GET电话以获取我的客户机中的当前号码
  • 使用更新的号码拨打PUT电话

  • 有没有一种方法可以通过单个调用来增加当前值?

    如果您使用的是一个Firebase SDK,这将通过事务()完成

    RESTAPI中目前没有等效的工具,可以让您一次性完成这项工作


    您可以考虑使用安全规则来确保只允许有效的转换。但这很容易变得相当棘手,正如我在这里的回答中所看到的:。

    如果您需要一个HTTP端点,它可以自动获取并设置实时数据库中的值,您可以使用创建一个使用来执行并将更新的计数输出回调用方。

    我不需要更新的计数器,只需要先获取计数器,然后再更新它。您可以按照自己喜欢的方式对函数进行编码。如果您不想返回更新后的值,则无需这样写。这是完全有效的!为什么要投否决票?您可以侦听任何Firebase事件,然后使用函数更新计数器。例如,您可以创建另一个节点“user_orders”:{“jwdbawodn”{“item”:“milk”,“UID”:“dawdawd”,“timestamp”:131233412}}。通过这种方式,任何用户都可以通过添加新订单来创建增加。创建新订单时,您可以在其中列出并使用函数增加订单。这还有一个额外的好处,即您可以快速获得最近用户活动的列表。