axios.delete从Firebase数据库中删除所有节点

时间:2019-08-02 12:26:23

标签: javascript reactjs firebase rest axios

我正在尝试使用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)
    }
}

两者都将删除所有对象,而不是指定的对象。 有人知道为什么吗?

谢谢

enter image description here

2 个答案:

答案 0 :(得分:1)

您应该这样做。如果收藏夹是主节点。

axios.delete(`${url}/favorite/${id}.json`)
您将在URL中传递的

id应该与您要删除的ID相同。这里的ID应该是LIHSF .....您将在端点中传递它。

答案 1 :(得分:0)

您的ID必须像这样在网址中...

axios
  .delete(
    "https://<firebaseDatabase>.firebaseio.com/favorites/" +
      req.params.id +
      ".json",
  )
  .then(() => {
    res.json();
  })
  .catch((err) => {
    err.json();
    console.log(err);
  });