1. var ItemSchema = new mongoose.Schema({
    2. biz: String,
    3. name: String,
    4. tradeType: String,
    5. totalFee: Number,
    6. transactionId: String,
    7. createTime: {
    8. type: Date,
    9. default: Date.now
    10. },
    11. updateTime: {
    12. type: Date,
    13. default: Date.now
    14. }
    15. }, {
    16. versionKey: false,
    17. timestamps: { createdAt: 'createTime', updatedAt: 'updateTime' }
    18. });

    timestamps选项会在创建文档时自动生成createAt和updateAt两个字段,值都为系统当前时间。并且在更新文档时自动更新updateAt字段的值为系统当前时间。如果想自定义这两个字段的名称,则可以使用上述高亮部分的定义方法。如果使用默认的字段名,则使用下面的定义方法即可:
    timestamps: true

    使用 Unix 时间戳
    虽然日期类型通常已经足够了,但您也可以让 Mongoose 将时间戳存储为自 1970年1月1日以来的秒数。Mongoose Schema 支持 timestamps.currentTime 选项,该选项允许您传递用于获取当前时间的自定义函数。

    1. const userSchema = mongoose.Schema({
    2. name: String
    3. }, {
    4. // 让 Mongoose 使用 Unix 时间(自1970年1月1日起的秒数)
    5. timestamps: {
    6. currentTime: () => Math.floor(Date.now() / 1000)
    7. }
    8. })