Firebase用钥匙推动多个物体

时间:2017-04-06 11:21:32

标签: javascript firebase firebase-realtime-database

我不确定它是如何调用的,但我只想推送数据:

使用.push()

{
    '{this_should_be_a_key}' : {
        name : '',
        items : {
            '{this_should_be_a_key}' : {
                title : ''
            }
        }
    }
}

现在我做了类似的事情:应该是承诺

ref.push({
    'name' : ''
}).then(function(snapshot) {
    let key = snapshot.key;
    ref.child(key+'/items').push({
        title : ''
    });
}).catch(function(err) {
    console.log(err);
});

我必须推2次,任何更简单的方法或可能只推一次?像..

ref.push({
    'name' : '',
    'items' : {
        '{this_should_be_a_key}' {
            'title' : ''
        }
    }
}).then(function(snapshot) {
    alert('done');
}).catch(function(err) {
    console.log(err);
});

2 个答案:

答案 0 :(得分:1)

Firebase的推送键实际上是在客户端上生成的,您可以通过调用select * from positions where (devicetime between '2017-04-06 10:06:57' and '2017-04-06 10:07:05' or devicetime is null) and deviceId=2 而不带参数来生成一个。它将返回push,其Reference将是生成的推送键。这完全是客户端的,不涉及与服务器通信。

因此,您可以生成密钥,准备数据,然后再次致电key

push

答案 1 :(得分:0)

您可以为items列表创建单独的节点,只需将密钥保存在父元素