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



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

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

我想在这里做的是,我试图将用户的id添加为"用户"的新子代。但我得到的是"userid",而不是我在顶部声明的userid变量。如何使用userid变量生成子项?

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

几个解决方案:

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());

最新更新