javascript - 两个按钮删除对方的设置数据

标签 javascript firebase firebase-realtime-database

我有两个按钮,分别向 HomeScore 变量和 GuestScore 变量添加一个。我让每个按钮控制它们各自的数据库条目,但每当我按下主得分按钮时,它都会删除数据库中的客人得分条目。

反过来也是这样;每当我按下访客得分按钮时,它就会删除主得分值。

Pastebin here

最佳答案

马特, 您正在为主场和客场分数更新相同的引用。看看下面两行:

var homeScoreRef = firebase.database().ref("scores/");
var guestScoreRef = firebase.database().ref("scores/");

这些引用完全相同。如果设置其中一个,然后设置另一个,第一个将被覆盖。

在下面的代码中,您将这些引用设置为它们各自的值,但是请记住,由于您使引用指向了完全相同的数据库部分,所以您只是用按下的按钮覆盖了您的值。

homeScoreRef.set({
    home: HomeScore
});

和:

guestScoreRef.set({
    guest: GuestScore
});

尝试这样的事情:

var homeScoreRef = firebase.database().ref("scores/home/");
var guestScoreRef = firebase.database().ref("scores/guest/");

或者您可以这样做:

var homeScoreRef = firebase.database().ref("scores/").child("home");
var guestScoreRef = firebase.database().ref("scores/").child("guest");

更新:

更改引用后,将 set() 调用更改为如下所示:

homeScoreRef.set(
    HomeScore
);

guestScoreRef.set(
    GuestScore
);

这应该会删除您的引用中多余的/home 和/guest。

另外,当你说 homeScoreValueRef.on 时,你从哪里得到这个?这个引用是在哪里创建的?因为我认为您打算执行 homeScoreRef.on,对吗?我认为这就是您收到 NaN 错误的原因。

如果您的代码多于您在 Pastebin 中显示的代码,请确保更新它以引用正确的引用,但总的来说,我认为这是您的错误。

关于javascript - 两个按钮删除对方的设置数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39813074/

相关文章:

java - 基于标签的过滤实现 Firestore

firebase - Google 日历 API 和 Google 应用程序验证流程

firebase - 为我的应用推荐的 Firebase 数据结构

android - 火力地堡 "Failed to convert a value of type java.util.HashMap to int"

javascript - 加载模型或集合

javascript - Mongoose 模式引用和未定义类型 'ObjectID'

firebase - 有什么方法可以更新Firestore中的 map 列表?

javascript - IE 11 无法获取未定义或空引用的属性 'length'

javascript - 如何使用 AJAX 将图像发送到 Symfony Controller ?

javascript - Firebase -- 批量删除子节点