目前我似乎找不到通过REST API从Firebase列表中删除对象的方法。例如,我正在尝试从列表中删除以下内容:
https://mrdapper.firebaseio.com/v0/users/41/favs.json?orderBy=%22id%22&equalTo=107657061
使用查询参数无法发布DELETE请求。
您不能使用查询来删除(尽管那会很棒)。但是您可以使用结果发送DELETE请求。
执行GET操作:
GET https://mrdapper.firebaseio.com/v0/users/41/favs.json?orderBy=%22id%22&equalTo=107657061
DELETE https://mrdapper.firebaseio.com/v0/users/41/favs/<returned-id>.json
现在,您可能不喜欢每个对象发送一个删除请求。但是,根据您的数据结构,这是必要的。
如果您想轻松查询和删除项目,可以尝试使用以下数据结构:
/users/$user_id
/userFavs/$user_id/$fav_id
将favs
存储在根目录下的自己位置。这样可以在不总是获取favs
的情况下检索user
数据。
对于userFavs
,如果您以userid
和favid
为键,可以轻松查询和删除。
{
"userFavs": {
"41": {
"107657061": {
"note_count": 43633
}
}
}
}
现在您可以通过指定用户ID轻松获取用户所有的收藏夹。如果您需要按ID删除,这也是一个关键操作。因此,您现在可以在不查询数据的情况下执行DELETE操作。
DELETE https://mrdapper.firebaseio.com/v0/userFavs/41/107657061.json