gpt4 book ai didi

javascript - Firebase 多位置更新,删除冗余数据作为更新的一部分

转载 作者:行者123 更新时间:2023-12-03 06:26:51 27 4
gpt4 key购买 nike

我正在使用 Firebase 多位置更新来更新数据库中的多个位置。

其中一个更新路径包含一个可以在更新过程中更改的值,因此在正确的新路径位置创建新记录。然后,这会在原始位置留下冗余数据,我需要在更新过程中将其删除。有人可以指导我如何在更新过程中删除冗余数据吗?

我使用下面的代码来创建我的更新:-

var updatedUserDataContent = {
title: $scope.postToUpdate.title
commenter: $scope.postToUpdate.commenter
};

updatedUserData["Posts/" + $scope.postToUpdate.$id] = updatedUserDataContent;

updatedUserData["UserPosts/" + $scope.postToUpdate.commenter + "/" + $scope.postToUpdate.$id] = updatedUserDataContent;

用户可以在保存之前更改记录上的commenter,从而将冗余数据保留在原始commenter 节点中。我尝试过使用安全规则,但这些规则会阻止创建而不是删除数据。

编辑 1

按照请求的 JSON。更新之前我有

{
"Not assigned" : {
"-KNfs3OhBmbb93w9VEW-" : {
"title": "vytg",
"commenter": "Not assigned"
}
}
}

更新后(将commenter从“未分配”更改为“用户A”后)我有

{
"Not assigned": {
"-KNfs3OhBmbb93w9VEW-": {
"title": "vytg",
"commenter": "Not assigned"
}
},
"User A" : {
"-KNfs3OhBmbb93w9VEW-" : {
"title": "vytg",
"commenter": "User A"
}
}
}

但我想要

{
"User A" : {
"-KNfs3OhBmbb93w9VEW-" : {
"title": "vytg",
"commenter": "User A"
}
}
}

最佳答案

您正在尝试移动/重命名节点,这不是数据库支持的操作。

由于新数据已正确写入,因此您只需清除旧节点即可。将 null 放入该位置即可解决此问题:

updatedUserData["Not assigned"] = null;

关于javascript - Firebase 多位置更新,删除冗余数据作为更新的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38611158/

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