我不确定它是如何调用的,但我只想推送数据:
使用.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);
});
答案 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
列表创建单独的节点,只需将密钥保存在父元素