如何仅发布对象中的一个元素?

时间:2018-12-06 08:43:17

标签: json angular

我对angular还是很陌生,我正在做不同的事情,目前我有一个添加评论的功能。

    newComment ( issue: Issue, key$: string) {
    let message = JSON.stringify( issue);
    let headers = new Headers ( {
      'Content-type': 'application/json'
    });
    let url = `${ this.IssueURL }/${ key$ }/comments/.json`;
    return this.http.post ( url, message, { headers } )
    .pipe(map( res => {
      console.log (res.json());
      return res.json();
    }));
  }

此功能将我的对象以下列形式放置在Firebase实时数据库中

{
  "issues" : {
    "-LT1c3NfNikLhGIx62dC" : {
      "comments" : {
        "-LT1c5_X5X39oyNa7dnZ" : {
          "description" : "nueva",
          "message" : "gol",
          "priority" : "nueva",
          "tittle" : "nueva"
        },
        "-LT1d3WX3WLXLxis9FLB" : {
          "comments" : {
            "-LT1c5_X5X39oyNa7dnZ" : {
              "description" : "nueva",
              "message" : "gol",
              "priority" : "nueva",
              "tittle" : "nueva"
            }
          },
          "description" : "nueva",
          "message" : "dsa",
          "priority" : "nueva",
          "tittle" : "nueva"
        }
      },
      "description" : "nueva",
      "priority" : "nueva",
      "tittle" : "nueva"
    },
    "-LT1cMwbtng9OLelQewB" : {
      "comments" : {
        "-LT1cPAhnm-FV9QtLAHL" : {
          "description" : "Nueva dos",
          "message" : "hahados",
          "priority" : "Nueva dos",
          "tittle" : "Nueva dos"
        }
      },
      "description" : "Nueva dos",
      "message" : "",
      "priority" : "Nueva dos",
      "tittle" : "Nueva dos"
    }
  }
}

如您所见,我在/ issues /内部有一个集合/ comment /,与功能addComment()有关,它填充了集合/ comments /中的整个对象。我现在只是我的情况,我想用消息值填充它。

这是由于在同一视图中输入评论,而我又使用getIssue函数从对象中获取了其他主要元素。

如何才能仅将一个元素从我的对象传递到指定的collection =?

任何帮助将不胜感激。

谢谢。

亲切的问候。

1 个答案:

答案 0 :(得分:0)

let messsage = issues.LT1c3NfNikLhGIx62dC.comments.LT1c5_X5X39oyNa7dnZ.message; 

使用此代码,您可以传递第一条评论的消息,如果您想要多条消息,则需要进行for循环并获取消息。