目前我似乎找不到通过REST api从firebase列表中删除对象的方法。例如,我试图从列表中删除它: https://mrdapper.firebaseio.com/v0/users/41/favs.json?orderBy=%22id%22&equalTo=107657061
发布DELETE请求不适用于查询参数。
答案 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
,如果您关闭userid
和favid
,则可以轻松查询和删除。
{
"userFavs": {
"41": {
"107657061": {
"note_count": 43633
}
}
}
}
现在,您可以通过指定用户的ID来轻松获取所有用户的收藏夹。如果你需要通过id删除,那也是一个关键。所以你现在可以在不查询的情况下删除。
DELETE https://mrdapper.firebaseio.com/v0/userFavs/41/107657061.json