通过Firebase REST API从列表中删除对象

4
1个回答

7

您不能使用查询来删除(尽管那会很棒)。但是您可以使用结果发送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存储在根目录下的自己位置。这样可以在不总是获取favs的情况下检索user数据。

对于userFavs,如果您以useridfavid为键,可以轻松查询和删除。

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

现在您可以通过指定用户ID轻松获取用户所有的收藏夹。如果您需要按ID删除,这也是一个关键操作。因此,您现在可以在不查询数据的情况下执行DELETE操作。

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

我也尝试了那个,但是单独的对象URL返回为空。 https://mrdapper.firebaseio.com/v0/users/41/K4MoCH14oh4gkvI2wCq.json - puppymaster

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接