首页 > 解决方案 > 使用猫鼬自动更新日期

问题描述

在我的猫鼬模式中,如下所示:

mongoose.Schema({
    "name": String,
    "items": [
        {
            "class": String,
            "source": String,
            "createdAt": { type: Date, default: Date.now },
            "updatedAt": { type: Date, default: Date.now }
        }
    ],
}, { versionKey: false });

当我插入新记录时,createdAtandupdatedAt会自动填充。这可以。运行更新查询时如何实现相同的目标,如下所示:

model.update({name: "myname"}, {$set: {class: "...", updatedAt: "somedate"}})

目前,我必须明确指定updatedAt. 我想让猫鼬处理这个。items每当更新数组中的项目时updatedAt,该项目的 必须自动更新。猫鼬有可能吗?

标签: javascriptmongodbmongooseschema

解决方案


试试这个模式与mongoose.Schema()子文档

mongoose.Schema({
    "name": String,
    "items": [
        mongoose.Schema({
            "class": String,
            "source": String,
            "createdAt": { type: Date, default: Date.now },
            "updatedAt": { type: Date, default: Date.now }
        },
        { timestamps: true })
    ],
}, { versionKey: false });

推荐阅读