FireBase - angularfire 将对象键设置为变量
FireBase - angularfire setting object key as variable
我在我的 angularjs 应用程序中使用 firebase(angularfire) 来存储和处理我的消息系统,但似乎无法弄清楚如何从 firebase 文档复制示例数据
// room members are easily accessible (or restricted)
// we also store these by room ID
"members": {
// we'll talk about indices like this below
"one": {
"mchen": true,
"hmadi": true
}
}
这里 members.one
包含用户名作为键,我也试图对我的数据执行此操作,但似乎无法找到解决方案。
我的 firebase 数据的成员部分是这样的:
members { one: { } }
我在 $scope 中设置了两个变量。
user_name = kep; //person chatting with name
sender_name = pek; //current user name
所以我想使用 set 函数将数据插入 members.one
或在本例中 members.user_name + ':' + sender_name
但我遇到的问题是如何在不创建父对象的情况下实际插入数据。
ref.child('members').child(user_name + ':' + sender_name).set({
user_name: true, sender_name: true
});
当我尝试将 user_name 和 sender_name 传递给 set() 函数时出现问题,下面是它得到的结果。
members { "kep:pek": { user_name: true, sender_name: true }}
如我所愿:
members { "kep:pek": { kep: true, pek: true }}
如果我将 user_name 和 sender_name 放入一个对象中,然后 运行 传递对象的 set() 函数将创建以下结构,这不是我的结构寻找:
members { "kep:pek": { newObject: { kep: true, pek: true }}}
这里是 Firebase 团队成员。
Firebase 数据库只是一个 JSON 文档。
假设您想以这种方式构建数据:
{
"members" : {
"kep:pek" : {
"kep" : true,
"pek" : true
}
}
}
使用 .child()
方法或在 JavaScript 对象中创建键来创建自定义键。
var rootRef = new Firebase('<my-firebase-app>');
var membersRef = rootRef.child('members');
var user_name = 'kep';
var sender_name = 'pek';
// child object to store custom keys
var objectToSave = {};
// set keys in [] syntax
objectToSave[user_name] = true;
objectToSave[sender_name] = true;
// use .child() with a formatted string to save the object
membersRef.child(user_name + ':' + sender_name).set(objectToSave);
我在我的 angularjs 应用程序中使用 firebase(angularfire) 来存储和处理我的消息系统,但似乎无法弄清楚如何从 firebase 文档复制示例数据
// room members are easily accessible (or restricted)
// we also store these by room ID
"members": {
// we'll talk about indices like this below
"one": {
"mchen": true,
"hmadi": true
}
}
这里 members.one
包含用户名作为键,我也试图对我的数据执行此操作,但似乎无法找到解决方案。
我的 firebase 数据的成员部分是这样的:
members { one: { } }
我在 $scope 中设置了两个变量。
user_name = kep; //person chatting with name
sender_name = pek; //current user name
所以我想使用 set 函数将数据插入 members.one
或在本例中 members.user_name + ':' + sender_name
但我遇到的问题是如何在不创建父对象的情况下实际插入数据。
ref.child('members').child(user_name + ':' + sender_name).set({
user_name: true, sender_name: true
});
当我尝试将 user_name 和 sender_name 传递给 set() 函数时出现问题,下面是它得到的结果。
members { "kep:pek": { user_name: true, sender_name: true }}
如我所愿:
members { "kep:pek": { kep: true, pek: true }}
如果我将 user_name 和 sender_name 放入一个对象中,然后 运行 传递对象的 set() 函数将创建以下结构,这不是我的结构寻找:
members { "kep:pek": { newObject: { kep: true, pek: true }}}
这里是 Firebase 团队成员。
Firebase 数据库只是一个 JSON 文档。
假设您想以这种方式构建数据:
{
"members" : {
"kep:pek" : {
"kep" : true,
"pek" : true
}
}
}
使用 .child()
方法或在 JavaScript 对象中创建键来创建自定义键。
var rootRef = new Firebase('<my-firebase-app>');
var membersRef = rootRef.child('members');
var user_name = 'kep';
var sender_name = 'pek';
// child object to store custom keys
var objectToSave = {};
// set keys in [] syntax
objectToSave[user_name] = true;
objectToSave[sender_name] = true;
// use .child() with a formatted string to save the object
membersRef.child(user_name + ':' + sender_name).set(objectToSave);