Firebase:使用Push创建新对象,然后同时推送到它

时间:2015-11-07 04:00:33

标签: javascript firebase

工具:Vanilla Firebase和Vanilla JavaScript

所以我创建了一个新的convo并一次性添加它的第一条消息。

par==4

但是因为两者都需要一个唯一的ID我基本上需要同时进行两次推送 .One创建新对象(如convos:{ uniqueConvoID1:{ uniqueMessage:{ text:"Hi Gus" }, ... }, ... } ),然后创建一个新的消息,如({{ 1}})。

我先尝试创建一个空对象,然后推送消息,但我不认为先创建一个空对象是有效的。

问题:   然后,如何在对象中初始化对象,其中两个对象都需要唯一键?

我尝试了什么:(我推了一条新消息,然后回到了convo。)

uniqueConvoID1)

在仪表板中创建了这个:

uniqueMessageId

但是我需要以这种方式初始化新的convo:

var newConvoIDRef =  firebaseConvosRef.push({
    authorName: 'Nick',
    text:"Hey!How you been?",
    timestamp: Date.now() - 99999
 });

1 个答案:

答案 0 :(得分:1)

我认为你真的过分复杂了。 Firebase会在您添加新值时自动创建路径。所以这将创建整个链:

var convosRef = new Firebase('https://yours.firebaseio.com/convos');
var convRef = convosRef.push();
var msgRef = convRef.push();

msgRef.set({
    authorName: 'Nick',
    text:"Hey!How you been?",
    timestamp: Date.now() - 99999
 });

注意:Firebase还会在删除其下的所有值时自动清除路径。因此,您可以通过以下方式删除树的整个分支:

msgRef.remove();