Node.js 在节点中合并两个对象

Node.js 在节点中合并两个对象,node.js,typescript,Node.js,Typescript,这是我的结构 [{ "date": "2019-01-10T18:30:00.000Z", "time": "2019-01-11T04:37:49.587Z", "abc_Info": { "_id": "5c381da651f18d5040611eb2", "abc": 2.5, "guardian": "XYZ" } }] 我想要的是 [{ "date": "2019-01-10T18:30:00.000Z", "time": "2019-01-11T04:37:49.

这是我的结构

 [{
"date": "2019-01-10T18:30:00.000Z",
"time": "2019-01-11T04:37:49.587Z",
"abc_Info": {
  "_id": "5c381da651f18d5040611eb2",
  "abc": 2.5,
  "guardian": "XYZ"
  }
}]
我想要的是

[{
"date": "2019-01-10T18:30:00.000Z",
"time": "2019-01-11T04:37:49.587Z",
"abc": 2.5,
"guardian": "XYZ"
}]
代码

this._model.find(params, (err, docs) => {
  if (err) {
    var response = this.errorResponse("error", 500, null);
    res.send(response);
  } else {
    for (var i = 0; i < docs.length; i++) {
      const abc= {
        "date": docs[i].date,
        "time": docs[i].time,
      "abc_Info":docs[i].abc_Info //this is object, i couldn't select value separately from this object
      }
      if (docs[i].abc_Info != undefined) {
        abcArray.push(abc);
      }
    }
    res.send(abc);
  }
});
this.\u model.find(参数,(错误,文档)=>{
如果(错误){
var response=这个.errorResponse(“error”,500,null);
res.send(响应);
}否则{
对于(变量i=0;i
我正在尝试从对象中选择值,如“abc_Info”:docs[I].abc_Info.abc,但我无法执行此操作,它的抛出错误。 我有两种方法可以做到这一点

  • 直接从对象中选择值并存储在变量中。这对我来说是个错误
  • 将日期和时间与abc_信息合并。我不知道怎么做
  • 改变这个

    const abc= {
        "date": docs[i].date,
        "time": docs[i].time,
        "abc":docs[i].abc_Info.abc,
        "guardian":docs[i].abc_Info.guardian
    }
    
    改变这个

    const abc= {
        "date": docs[i].date,
        "time": docs[i].time,
        "abc":docs[i].abc_Info.abc,
        "guardian":docs[i].abc_Info.guardian
    }
    

    希望这会有帮助

    vard=[{
    “日期”:“2019-01-10T18:30:00.000Z”,
    “时间”:“2019-01-11T04:37:49.587Z”,
    “abc_信息”:{
    “_id”:“5c381da651f18d5040611eb2”,
    “abc”:2.5,
    “监护人”:“XYZ”
    }
    }]
    d[0]=Object.assign(d[0],d[0].abc\u信息);
    删除d[0]['abc_信息'];
    删除d[0][''id'];
    
    控制台日志(d)希望对您有所帮助

    vard=[{
    “日期”:“2019-01-10T18:30:00.000Z”,
    “时间”:“2019-01-11T04:37:49.587Z”,
    “abc_信息”:{
    “_id”:“5c381da651f18d5040611eb2”,
    “abc”:2.5,
    “监护人”:“XYZ”
    }
    }]
    d[0]=Object.assign(d[0],d[0].abc\u信息);
    删除d[0]['abc_信息'];
    删除d[0][''id'];
    控制台日志(d)
    
    设x={
    “日期”:“2019-01-10T18:30:00.000Z”,
    “时间”:“2019-01-11T04:37:49.587Z”,
    }
    让abc_信息={
    “_id”:“5c381da651f18d5040611eb2”,
    “abc”:2.5,
    “监护人”:“XYZ”
    }
    //凝结
    设z={…x,…abc_Info}
    console.log(z)
    设x={
    “日期”:“2019-01-10T18:30:00.000Z”,
    “时间”:“2019-01-11T04:37:49.587Z”,
    }
    让abc_信息={
    “_id”:“5c381da651f18d5040611eb2”,
    “abc”:2.5,
    “监护人”:“XYZ”
    }
    //凝结
    设z={…x,…abc_Info}
    
    对不起,这是我的错误。我应该在if语句中声明object。现在开始工作了

          if (docs[i].abc_Info != undefined) {
          const abc= {
            "date": docs[i].date,
            "time": docs[i].time,
           "abc_Info":docs[i].abc_Info
            }
            abcArray.push(abc);
          }
    

    对不起,这是我的错。我应该在if语句中声明object。现在开始工作了

          if (docs[i].abc_Info != undefined) {
          const abc= {
            "date": docs[i].date,
            "time": docs[i].time,
           "abc_Info":docs[i].abc_Info
            }
            abcArray.push(abc);
          }
    

    使用Spread运算符,也可以使用Array.prototype.map,而不是for loop和push

    let docs=[{
    “日期”:“2019-01-10T18:30:00.000Z”,
    “时间”:“2019-01-11T04:37:49.587Z”,
    “abc_信息”:{
    “_id”:“5c381da651f18d5040611eb2”,
    “abc”:2.5,
    “监护人”:“XYZ”
    }
    }]
    让abcArray=docs.map({date,time,abc_Info})=>{
    删除abc_信息。_id;
    返回{日期,时间,…abc_信息}
    });
    
    console.log(abcArray)
    使用扩展运算符,也可以使用Array.prototype.map,而不是for loop和push

    let docs=[{
    “日期”:“2019-01-10T18:30:00.000Z”,
    “时间”:“2019-01-11T04:37:49.587Z”,
    “abc_信息”:{
    “_id”:“5c381da651f18d5040611eb2”,
    “abc”:2.5,
    “监护人”:“XYZ”
    }
    }]
    让abcArray=docs.map({date,time,abc_Info})=>{
    删除abc_信息。_id;
    返回{日期,时间,…abc_信息}
    });
    
    console.log(abcArray)
    我将元数据作为我的响应,如“$parent”我将元数据作为我的响应,如“$parent”