为什么我无法使用mongo的.map更改对象?

时间:2018-12-19 17:33:35

标签: node.js mongodb date mongoose

我正在尝试在对象中编写日期的新版本。 一切都会正确输出到控制台,但是生成的对象不会被覆盖。

Aircraft.find({leave: true}, (err, resp) => {
    result = resp;

    result = result.map((obj) => {
        let tmp = new Date(obj.timeArrival);
        tmp = moment(obj.timeArrival).format('dddd, MMMM DD YYYY');
        console.log(obj.timeArrival); // 2016-05-18T16:00:00.000Z
        console.log(tmp); // Wednesday, May 18 2016
        obj.timeArrival = tmp;
        console.log(obj.timeArrival); // 2016-05-18T16:00:00.000Z
        return obj;
    })
    res.render("departed.hbs", {
        us: result
    });
})

result仍旧!

1 个答案:

答案 0 :(得分:0)

在map函数内创建一个新的json对象。

Aircraft.find({leave: true}, (err, resp) => {
  result = resp;

  result = result.map((obj) => {
    var new_obj = {};
    new_obj = obj;
    let tmp = new Date(obj.timeArrival);
    tmp = moment(obj.timeArrival).format('dddd, MMMM DD YYYY');
    console.log(obj.timeArrival); // 2016-05-18T16:00:00.000Z
    console.log(tmp); // Wednesday, May 18 2016
    new_obj.timeArrival = tmp;
    console.log(obj.timeArrival); // 2016-05-18T16:00:00.000Z
    return new_obj ;
  })
  res.render("departed.hbs", {
    us: result
  });
})