当serviceId
对象尚未确定时,我正试图弄清楚如何将services
的结果保存到名为provider1
的父级上的services
对象上要被创造。
我的Firebase数据如下所示:
"providers" : {
"provider1" : {
"name" : "The Whittington Hospital",
}
}
这就是我保存serviceId
的结果:
for (var providerKey in service.providers) {
var providerId = providers.$getRecord(providerKey);
providerId.services[serviceId] = true;
providers.$save(providerId);
}
但是我无法将[serviceId]
设置为true
,因为services
对象尚未存在,它未定义。
Firebase不允许您创建空对象,否则我的services: {}
下会有一个空的provider1
obj。
我该如何解决这个问题。任何帮助表示赞赏。提前谢谢!
答案 0 :(得分:5)
如果对象尚未存在,您应该能够创建该对象:
for (var providerKey in service.providers) {
var providerId = providers.$getRecord(providerKey);
if(!providerId.services){
providerId.services = {};
}
providerId.services[serviceId] = true;
providers.$save(providerId);
}
这是一个展示它的傻瓜:http://plnkr.co/edit/7akqoorVSdpap99RfF1C?p=preview
我意识到这是一个粗略的例子,使用他们的教程,所以要看到它首先添加一条消息,然后单击按钮将服务附加到最后一条消息。