在Firebase上使用字符串设置子名称

时间:2016-05-01 21:33:09

标签: javascript jquery firebase set

我在Firebase中使用此代码将玩家统计信息(目前只有名称)保存到数据库:

var usersRef = ref.child("users");
var userid = kongregate.services.getUserId();
usersRef.set({
    userid: {
        name: kongregate.services.getUsername(),
    }
});

我在这里尝试做的是尝试将用户的id添加为“用户”的新子项。但我得到“userid”而不是我在顶部声明的userid变量。如何使用userid变量创建子项?

1 个答案:

答案 0 :(得分:2)

您不能将变量用作属性名称。

一些解决方案:

var users = {};
users[userid] = { name: kongregate.services.getUsername() };
usersRef.set(users);

这将设置正确的值,但也会覆盖users的所有其他数据。

可能采用更好的方法:

var user = { name: kongregate.services.getUsername() };
usersRef.child(userid).set(user);

甚至在较低的水平:

usersRef.child(userid).child(name).set(kongregate.services.getUsername());