首页 > 解决方案 > 我怎样才能从我的对象中只发布一个元素?

问题描述

我是角度的新手,我正在做不同的做法,目前我有一个添加评论的功能。

    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 函数的对象的其他主要元素。

我该怎么做才能将我的对象中的一个元素仅传递给指定的集合=?

任何帮助将不胜感激。

谢谢。

亲切的问候。

标签: jsonangular

解决方案


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

使用此代码,您可以传递第一条评论的消息,并且您想要多条消息,然后您需要执行 for 循环并获取消息。


推荐阅读