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

pup*_*ter 4 firebase

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

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

Dav*_*ast 6

你不能用查询删除(虽然那会很棒).但您可以使用结果发送DELETE请求.

做一个GET:

GET https://mrdapper.firebaseio.com/v0/users/41/favs.json?orderBy=%22id%22&equalTo=107657061
Run Code Online (Sandbox Code Playgroud)

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

DELETE https://mrdapper.firebaseio.com/v0/users/41/favs/<returned-id>.json
Run Code Online (Sandbox Code Playgroud)

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

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

/users/$user_id
/userFavs/$user_id/$fav_id
Run Code Online (Sandbox Code Playgroud)

favs其存储在根目录下的自己位置.这将允许您在user不总是获取数据的情况下检索数据favs.

对于userFavs如果键关机useridfavid您可以轻松地查询和删除.

{
  "userFavs": {
    "41": {
      "107657061": {
        "note_count": 43633
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

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

DELETE https://mrdapper.firebaseio.com/v0/userFavs/41/107657061.json
Run Code Online (Sandbox Code Playgroud)