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