🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] ### mongoose 自动记录时间戳 * [ ] 需求分析 >[info]在我们定义mongoose-schema时,如果加入数据创建时间与数据最后修改时间会大大提高数据表的可维护性和规范性。之前我们的做法是定义两个字段(数据类型为Date),操作数据表时获取当前的时间戳记录下来,每次修改都将修改时间做更新。 * [ ] 更好的方案: 使用mongoose新增的内置时间戳记录。关键代码如下: ``` { timestamps: { createdAt: 'created', updatedAt: 'updated' } } ``` >[danger]其中created和updated为自动记录时间的字段名,分别记录创建时间与更新时间,可以自定义。 数据表中存储的数据会相应的加入如下两条字段。 ``` "updated": "2017-10-24T11:03:29.142Z", "created": "2017-10-12T03:56:04.342Z", ``` * [ ] 下面给出mongoose-Schema的完整demo ``` var mongoose = require('mongoose'), Schema = mongoose.Schema; var AboutSchema = new Schema({ title: { type: String, require: true, default: 'About information' }, text: { type: String, require: true }, }, {timestamps: {createdAt: 'created', updatedAt: 'updated'}}); module.exports = mongoose.model('about', AboutSchema, 'about'); ```