![](/img/trans.png)
[英]JavaScript - append a new array to object and push values simultaneously
[英]Firebase: Create New Object With Push and Then Push to it Simultaneously
工具:Vanilla Firebase和Vanilla JavaScript
因此,我正在创建一个新的convo,并一次性添加它的第一条消息。
convos:{
uniqueConvoID1:{
uniqueMessage:{
text:"Hi Gus"
},
...
},
...
}
但是因为两者都需要一个唯一的ID,所以我基本上需要同时进行两次推送 。一个创建新对象(例如uniqueConvoID1)
,然后在内部创建一个新消息,例如( uniqueMessageId
)。
我尝试过先创建一个空对象,然后推送消息,但我认为先创建一个空对象无效。
问题:然后,如何在一个对象中初始化两个对象都需要唯一键的对象?
我尝试过的操作:(我推送了一条新消息并再次召集了会议。)
var newConvoIDRef = firebaseConvosRef.push({
authorName: 'Nick',
text:"Hey!How you been?",
timestamp: Date.now() - 99999
});
是在仪表板上创建的:
-convos
- -K2111111111111111 //unique convo id
-authorName:"Nick"
-text:"Hey! How have you been?"
-timestamp:1446866141625
但是我需要以这种方式初始化新的convo:
-convos
- -K2111111111111111 unique convo id
- -K222444444444444 unique message id
-authorName:"Nick"
-text:"Hey! How have you been?"
-timestamp:1446866141625
我认为您正在使事情变得过于复杂。 当您添加新值时,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();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.