如何在MongoDB和Mongoose中更改日期格式

时间:2019-03-01 00:23:05

标签: node.js mongodb express mongoose

我有以下代码。

const Price = mongoose.model('Price', new mongoose.Schema({
  dateFrom: {
    type: Date,
    required: true
  },
  dateTo: {
    type: Date,
    required: true
  }
}));

它们以数据库格式存储,即2018-12-29T00:00:00.000Z。 我想做的就是将as存储为2018-12-29。有什么办法吗?

1 个答案:

答案 0 :(得分:0)

您可以通过这种方式操纵发送的值。我希望它能起作用

function formatDate(date) {
    var d = new Date(date),
        month = '' + (d.getMonth() + 1),
        day = '' + d.getDate(),
        year = d.getFullYear();

    if (month.length < 2) month = '0' + month;
    if (day.length < 2) day = '0' + day;

    return [year, month, day].join('-');
}


const Price = mongoose.model('Price', new mongoose.Schema({
    dateFrom: {
      type: String,
      required: true,
      set: date => formatDate(date)
    },
    dateTo: {
      type: String,
      required: true,
      set: date => formatDate(date)
    }
}));