Заменить число / строку переменной - PullRequest
0 голосов
/ 30 марта 2020

Я отправляю данные в 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
 });
}  

Но в результате адрес ma c хранится в каталоге «index», а в каталоге с именем «1» нет. Спасибо.

Ответы [ 2 ]

1 голос
/ 30 марта 2020

Просто поместите имя переменной в скобки, и оно будет проанализировано как фактическая переменная

if(pass == "4920" ){
      ref.update({
      [index]: mac
    });
   } 
1 голос
/ 30 марта 2020

База данных реального времени на самом деле не имеет "каталогов". У него есть вложенные узлы. Если вы хотите продолжить вложение большего количества узлов в ref, вы можете просто добавить их с помощью вызовов child ().

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

Если вы хотите передать объект с ключом, который имеет значение для переменной, вы можете использовать синтаксис JavaScript для этого (который не имеет ничего общего с Firebase):

ref.update({
   [index]: mac
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...