Javascript 使用唯一ID将值推送到对象
我正在尝试使用唯一ID将某些属性和值推送到Firebase对象,但我不知道如何执行此操作。对象树如下所示:Javascript 使用唯一ID将值推送到对象,javascript,jquery,firebase,Javascript,Jquery,Firebase,我正在尝试使用唯一ID将某些属性和值推送到Firebase对象,但我不知道如何执行此操作。对象树如下所示: 我使用var projects=DB.child('projects')引用projects对象,DB是我的Firebase数据库变量。当我尝试通过唯一ID访问对象时:Projects['-K1VohAnRvGfdtV6lyaH',控制台告诉我该对象未定义。我在这里遗漏了什么?答案比我想的要简单得多。我只需要使用child方法并以这种方式发布数据。这是我的密码: var projectI
我使用
var projects=DB.child('projects')引用projects
对象代码>,DB
是我的Firebase数据库变量。当我尝试通过唯一ID访问对象时:Projects['-K1VohAnRvGfdtV6lyaH'
,控制台告诉我该对象未定义。我在这里遗漏了什么?答案比我想的要简单得多。我只需要使用child方法并以这种方式发布数据。这是我的密码:
var projectId = $('table').attr('id');
projectId = projectId.replace('table', '');
var path = Projects.child(projectId).child('items');
path.push({
item_vendor: vendor,
item_description: description,
item_cost: cost
});
每个表都有它正在显示的项目的唯一ID,所以我从那里获取了唯一ID。然后我只需将子位置附加到路径
,就可以将数据推送到需要的地方
p、 第二个子项是我正在动态添加的属性。我可以将projectId
和'items'
组合起来,只使用一个child()
方法,但它现在可以工作了
谢谢大家的帮助 请尝试在关键的like so Projects[“-K1VohAnRvGfdtV6lyaH”]@harmonickey我很抱歉,我在唯一ID周围有引号,在发布问题时没有使用它们。这不起作用。您是否查看了调试器中的对象,并确保属性存在?如果属性存在并且密钥拼写正确,这将起作用。属性不存在,这让我感到困惑。我相信这与Firebase的工作方式有关。下面是console.dir(项目)的内容代码>显示:我不熟悉Firebase,但我猜您需要在数据调用中使用include,让它知道包含您要查找的数据层。至少其他大多数orm都是这样工作的。