var ItemSchema = new mongoose.Schema({
biz: String,
name: String,
tradeType: String,
totalFee: Number,
transactionId: String,
createTime: {
type: Date,
default: Date.now
},
updateTime: {
type: Date,
default: Date.now
}
}, {
versionKey: false,
timestamps: { createdAt: 'createTime', updatedAt: 'updateTime' }
});
timestamps选项会在创建文档时自动生成createAt和updateAt两个字段,值都为系统当前时间。并且在更新文档时自动更新updateAt字段的值为系统当前时间。如果想自定义这两个字段的名称,则可以使用上述高亮部分的定义方法。如果使用默认的字段名,则使用下面的定义方法即可:timestamps: true
使用 Unix 时间戳
虽然日期类型通常已经足够了,但您也可以让 Mongoose 将时间戳存储为自 1970年1月1日以来的秒数。Mongoose Schema 支持 timestamps.currentTime 选项,该选项允许您传递用于获取当前时间的自定义函数。
const userSchema = mongoose.Schema({
name: String
}, {
// 让 Mongoose 使用 Unix 时间(自1970年1月1日起的秒数)
timestamps: {
currentTime: () => Math.floor(Date.now() / 1000)
}
})