首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Firebase:使用Push创建新对象,然后同时推到它

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

Stack Overflow用户
提问于 2015-11-07 04:00:32
回答 1查看 599关注 0票数 0

工具:香草火药库和香草JavaScript

因此,我创建了一个新的会议,并增加了它的第一条消息在一次。

代码语言:javascript
复制
convos:{
    uniqueConvoID1:{
        uniqueMessage:{
          text:"Hi Gus"
        },
        ...
    },
    ...
}

,但由于两者都需要一个唯一的Id,我基本上需要同时执行两次推送,.One创建新对象(比如uniqueConvoID1),然后在like (uniqueMessageId)中创建一个新消息)。

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

问题:如何在两个对象都需要唯一键的对象内初始化一个对象?

我尝试的是:(我推送了一条新信息,并把会议弄回来了。)

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

它在仪表板中创建了以下内容:

代码语言:javascript
复制
-convos
     - -K2111111111111111 //unique convo id
         -authorName:"Nick"
         -text:"Hey! How have you been?"
         -timestamp:1446866141625

但是,我需要用这种方式开始新的会议:

代码语言:javascript
复制
 -convos
     - -K2111111111111111 unique convo id
         - -K222444444444444 unique message id
             -authorName:"Nick"
             -text:"Hey! How have you been?"
             -timestamp:1446866141625
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-07 05:29:01

我觉得你把事情搞得太复杂了。当您添加新值时,Firebase会自动创建路径。因此,这将创建整个链:

代码语言:javascript
复制
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也会自动清除路径。因此,您可以通过以下方法移除整个树的分支:

代码语言:javascript
复制
msgRef.remove();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33578981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档