用变量替换数字/字符串

时间:2020-03-30 19:21:26

标签: javascript jquery html firebase firebase-realtime-database

我正在使用下面的代码将数据发送到firebase:

var mac = "10:10:10:10";
var ref = rootRef.child('user/' + 'nicolas');

if(pass == "4920" ){
 ref.update({
   1: mac
 });
}  

我需要做的是用一个变量替换'1',因为我需要动态更改该值。我尝试了以下方法:

var mac = "10:10:10:10";
var ref = rootRef.child('user/' + 'nicolas');
var index = 1;

if(pass == "4920" ){
 ref.update({
   index: mac
 });
}  

但是结果是mac地址存储在“索引”目录中,而没有名为“ 1”的目录。谢谢。

2 个答案:

答案 0 :(得分:1)

实时数据库实际上没有“目录”。它具有嵌套节点。如果您想继续在ref下嵌套更多节点,则可以继续添加它们并调用child()。

var ref = rootRef.child('user/' + 'nicolas');
var indexRef = ref.child('1');
indexRef.update(mac);

如果您要传递一个带有变量值的键的对象,可以为此使用JavaScript语法(与Firebase无关):

ref.update({
   [index]: mac
});

答案 1 :(得分:1)

只需将变量名称放在方括号中,它将解析为实际变量

if(pass == "4920" ){
      ref.update({
      [index]: mac
    });
   } 
相关问题