如何在NodeJS,Mongoose和TypeScript中使用日期和时间?

时间:2018-12-23 21:18:27

标签: node.js mongodb typescript mongoose mongoose-schema

我来自Java世界,现在开始使用NodeJS。 我很难理解如何在NodeJS中使用日期和时间。

只有日期,只有几个小时。

这里是一个例子:

export interface teste extends mongoose.Document {
    description: string,
    dateTest: ????,
    openingTime: ????,
    finalTime: ????,
    dateTimeRecord: ????
}

const testeSchema = new mongoose.Schema({
    description:{
        type: String,
        required: true,
        maxlength: 200,
        minlength: 3
    },
    dateTest:{
        type: ?????,
        required: true
    },
    openingTime:{
        type: ?????,
        required: true
    },
    finalTime:{
        type: ?????,
        required: true
    },
    dateTimeRecord:{
        type: ?????,
        required: true
    }
}

export const Teste = mongoose.model<Teste>('Teste', testeSchema)

在我离开的所有地方?????我不知道要放什么。

  • 在dateTest中,我只需要记录日期,没有小时。
  • 在openingTime和finalTime中,我只需要存储小时,没有日期。
  • 在dateTimeRecord中,我需要存储发生事件的时间(日期和时间)。

该怎么做?

2 个答案:

答案 0 :(得分:1)

猫鼬的类型为Date(Docs here)替换??? Date,您应该一切就绪。

答案 1 :(得分:0)

在猫鼬中,您具有日期类型 您可以设置默认日期(实际上,它使用ISODate) 您可以这样编码

const testeSchema = new mongoose.Schema({
    description:{
        type: String,
        required: true,
        maxlength: 200,
        minlength: 3
    },
    dateTest:{
        type: Date,
        default:Date.now // this sets the default date time stamp using proper ISODate format
        required: true
    },
    openingTime:{
        type: Date,
        required: true
    },
    finalTime:{
        type: Date,
        required: true
    },
    dateTimeRecord:{
        type: Date,
        required: true
    }
}

您可以在猫鼬文档here

中阅读更多内容