如何使用猫鼬存储日期时间?

时间:2020-05-13 00:58:14

标签: javascript mongodb mongoose

我这样做是为了存储一些会议的数据,但是我希望字段"date"像在MySQL数据库中一样以datetime的形式存储值。我该怎么办?

const mongoose= require('mongoose')
const Schema= mongoose.Schema

const Meets= mongoose.model('Meet', new Schema({
    id1: String,
    id2: String,
    date: Date

}))

module.exports= Users

2 个答案:

答案 0 :(得分:0)

您要存储哪种日期格式?如果要以毫秒为单位存储它,则可以将timestamps选项设置为true,如下所示:

const Meets= mongoose.model('Meet', new Schema({
    id1: {String},
    id2: {String},
}, {timestamps:true}))

答案 1 :(得分:0)

您的架构应采用以下格式,以便以DateTime格式存储会议时间。

const mongoose= require('mongoose')
const Schema= mongoose.Schema

const Meets= mongoose.model('Meet', new Schema({
   // First meeting recipient
   id1: { type: Schema.Types.ObjectId, required: true },

   // Second meeting recipient
   id2: { type: Schema.Types.ObjectId, required: true },

   // Date and Time of meeting
   date: { type: Date, required: true }
}))

module.exports= Meets

现在,当您在Meets集合中进行输入时,您会在mongo数据库中找到以下日期密钥格式:

ISODate(“ 2017-04-02T15:30:00Z”)

这表示上述格式为ISO日期格式,可以将时间转换为UTC格式。要将其转换为本地时间格式,可以执行以下步骤:

新日期(meet.date).toLocaleString();

此外,您可以在架构中设置属性{timestamps:true},该属性还会在集合中添加 createdAt updatedAt 字段,这些字段将在以下位置自动更新创建和每次更新。

谢谢