Firebase,变量作为密钥名称

Firebase, variable as key name

本文关键字:密钥 变量 Firebase      更新时间:2023-09-26

我基本上想做的是:

variable = 'whatever';
fb.set({ variable : "More Stuff" });

因此,这将导致一个条目,看起来像:

whatever: "More Stuff"

目前它只是以结束

variable: "More Stuff"

这能做到吗?

对于最新版本的Firebase,请在变量名周围使用括号:

firebase.database().ref("pathName").set({[variable] : 'MoreStuff'});

使用将变量的索引设置为值的另一种方法将在数据库结构中创建一个附加层。

是。代码没有按预期工作,因为您使用的是对象文字表示法,这也是它将变量名作为关键字的原因,因为表示法就是这样工作的。

解决方案

foo = {}; 
foo[variable] = 'more stuff'; 
fb.set(foo);

事实证明@randomnamehere的命令并没有完全达到我的预期,因为我想在引用中使用一个累积数,或者在您的情况下,使用一个命名索引,同时保留多个索引。所以正确的命令应该是

firebase.database().ref(`pathName/${variable}`).set('More Stuff');

他最初的答案实际上是用里面的一个命名索引替换整个引用

您可以创建一个Empty object,并将变量设置为其属性并为其赋值。请参阅以下内容:

let object: any = {};
 object[variable] = value