【问题标题】:How to delete data from firebase live database using id?如何使用 id 从 firebase 实时数据库中删除数据?
【发布时间】:2020-10-04 03:25:27
【问题描述】:

我正在尝试使用此 ID 删除 Firebase 实时数据库中的记录。

我的 removeFromFavorites 操作包含一个食谱(带有 id),我想将它与数据库中的记录匹配并删除它。

export const removeFromFavorites = (recipe: RecipeConfig) => async (
  dispatch: Dispatch
): Promise<void> => {
};

如果不可行,请您提出替代方案,谢谢。

【问题讨论】:

    标签: reactjs firebase firebase-realtime-database redux react-redux


    【解决方案1】:

    要从数据库中删除(或以其他方式写入)节点,您必须知道其完整路径。如果您不知道它的完整路径,您可以通过首先运行查询,然后删除与查询匹配的节点/所有节点来确定。

    如果recipe 有一个id,那就是这样的:

    const ref = firebase.database().ref('favorites');
    const query = ref.orderById().equalTo(recipe.id);
    query.once('value').then((results) => {
      results.forEach((snapshot) => {
        snapshot.ref.remove();
      });
    });
    

    另见:

    【讨论】:

    • 我尝试了您的建议,但在参考文献中出现了一些错误。类型引用中不存在 orderById() 和 delete()。
    • 我也想知道是否可以将firebase分配给recipe.id的默认键更改为;这样,我可以查找 recipe.id 并相应地删除。
    • 我看了你附上的链接,第一个解释得很完美,谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-20
    • 1970-01-01
    • 2021-06-04
    • 1970-01-01
    • 2020-01-17
    • 2021-09-20
    相关资源
    最近更新 更多