gpt4 book ai didi

javascript - 覆盖数据而不生成新的键/节点

转载 作者:行者123 更新时间:2023-11-30 19:02:16 30 4
gpt4 key购买 nike

我正在尝试覆盖我数据库中的一些数据。结构很简单,就是:

recipes {
user_1{
recipe_1{data}
recipe_2{data}
}
user_2{
recipe_1{data}
recipe_2{data}
}
}

我正在尝试更新一个项目并使用它使用任何更改覆盖它,其中 recipe 是新对象,其中包含我要保存的更新数据,而 key 是为数据库中的每个项目生成的唯一键。在数据库本身中,标签 recipe_1 等将被替换为它们的唯一键。所以这个路径应该只是替换整个 recipe_2 而不是添加一个新节点。

firebase.database().ref('recipes/' + userID + "/" + key).set({ recipe });

所以说我试图用这个更新user_1的 recipe_2,在完成之后,数据库结构将是:

data {
user_1{
recipe_1{data}
recipe{
recipe_2{data}
}
}
user_2{
recipe_1{data}
recipe_2{data}
}
}

如何在更改食谱内容的同时覆盖项目并保持数据库结构不变?

最佳答案

您需要从 set 函数中删除额外的 {},该函数会在您尝试更新的键值中创建一个新节点。

将代码更改为
firebase.database().ref('recipes/' + userID + "/"+ key).set(recipe);

关于javascript - 覆盖数据而不生成新的键/节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59385714/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com