小编典典

将 created_at 和 updated_at 字段添加到猫鼬模式

all

有没有办法将 created_at 和updated_at字段添加到猫鼬模式中,而不必在每次MyModel()调用 new 时都传递它们?

created_at字段将是一个日期,并且仅在创建文档时添加。每当在文档上调用该updated_at字段时,都会使用新日期更新该字段。save()

我已经在我的架构中尝试过这个,但是除非我明确添加它,否则该字段不会显示:

var ItemSchema = new Schema({
    name    : { type: String, required: true, trim: true },
    created_at    : { type: Date, required: true, default: Date.now }
});

阅读 71

收藏
2022-06-04

共1个答案

小编典典

从 Mongoose 4.0 开始,您现在可以在 Schema 上设置时间戳选项,让 Mongoose 为您处理:

var thingSchema = new Schema({..}, { timestamps: true });

您可以更改使用的字段的名称,如下所示:

var thingSchema = new Schema({..}, { timestamps: { createdAt: 'created_at' } });

http://mongoosejs.com/docs/guide.html#timestamps

2022-06-04