通过firebase rest api从列表中删除对象

时间:2015-11-30 13:30:37

标签: firebase

目前我似乎找不到通过REST api从firebase列表中删除对象的方法。例如,我试图从列表中删除它: https://mrdapper.firebaseio.com/v0/users/41/favs.json?orderBy=%22id%22&equalTo=107657061

发布DELETE请求不适用于查询参数。

1 个答案:

答案 0 :(得分:6)

您无法通过查询删除(虽然这会很棒)。但是您可以使用结果发送DELETE请求。

做一个GET:

GET https://mrdapper.firebaseio.com/v0/users/41/favs.json?orderBy=%22id%22&equalTo=107657061

这将返回对象,您可以为它返回的每个项目发送DELETE请求。

DELETE https://mrdapper.firebaseio.com/v0/users/41/favs/<returned-id>.json

现在,您可能不喜欢每个对象发送一个删除请求。但是,使用您的数据结构,这是必要的。

如果您想轻松查询和删除项目,可以尝试以下数据结构:

/users/$user_id
/userFavs/$user_id/$fav_id

favs存储在根目录下的自己位置。这样,您就可以检索user数据,而无需始终获取favs

对于userFavs,如果您关闭useridfavid,则可以轻松查询和删除。

{
  "userFavs": {
    "41": {
      "107657061": {
        "note_count": 43633
      }
    }
  }
}

现在,您可以通过指定用户的ID来轻松获取所有用户的收藏夹。如果你需要通过id删除,那也是一个关键。所以你现在可以在不查询的情况下删除。

DELETE https://mrdapper.firebaseio.com/v0/userFavs/41/107657061.json