axios.delete 正在从 firebase 数据库中删除所有节点
Posted
技术标签:
【中文标题】axios.delete 正在从 firebase 数据库中删除所有节点【英文标题】:axios.delete is removing all nodes from firebase database 【发布时间】:2019-12-11 01:58:32 【问题描述】:我正在尝试使用 axios 在我的数据库中执行一个简单的删除操作,但它一直在删除整个集合。
我在我的节点中保留了一个 idin,我试图通过我发送的 id 删除一个对象,我都尝试了:
const removeFromFavorites = async (id) =>
try
await axios.delete(`$url.json`, data: id )
return id
catch (err)
console.log(err)
//// or
const removeFromFavorites = async (id) =>
try
await axios.delete(`$url.json`, params: id )
return id
catch (err)
console.log(err)
两者都在删除所有对象,而不是指定的对象。 有人知道为什么吗?
谢谢
【问题讨论】:
为什么 params: id
中的 id 在花括号中? params 的值应该是一个对象,还是只是一个数字/字符串?
根据我看到的例子,它应该是一个对象:axios.delete(URL, params: foo: 'bar' )
哦,好吧 - 那不是错字。你试过像params: id: id
一样吗?
url
的值是多少?
firebastpath/favorites.json
【参考方案1】:
你应该这样做。如果收藏夹是主节点。
axios.delete(`$url/favorite/$id.json`)
您将在 URL 中传递的 ID,它应该与您要删除的相同。这里的 id 应该是 LIHSF..... 您将在端点中传递它。
【讨论】:
它仍然无法正常工作.. 我试图删除的“id”是节点内的一个属性,它不是生成的 id firebase 你能贴出你的firebase节点的图片来帮助你更好吗? 是的,我刚刚添加到帖子中,请看一下 你的意思是你只是想从那个对象中删除那个 id "349727" 对吧? 不,我想删除包含 id "349727" 但已删除的对象 - 正在删除所有对象【参考方案2】:您的 id 需要在这样的 url 中...
axios
.delete(
"https://<firebaseDatabase>.firebaseio.com/favorites/" +
req.params.id +
".json",
)
.then(() =>
res.json();
)
.catch((err) =>
err.json();
console.log(err);
);
【讨论】:
以上是关于axios.delete 正在从 firebase 数据库中删除所有节点的主要内容,如果未能解决你的问题,请参考以下文章