我正在从MS SQL到MongoDB进行数据迁移。我正在使用mongoose,在我的架构中,我将timestamp属性设置为true。
{
timestamps: true
}
然后我尝试设置createdAt和updatedAt字段的值。插入记录时。 createdAt字段正确保存,但updatedAt字段设置为createdAt字段。
这是标准行为还是我做错了什么?
答案 0 :(得分:1)
时间戳选项真的很酷,毫无疑问,但我仍然在做这件事"旧学校":
'use strict';
/**
* Module dependencies
*/
const mongoose = require('mongoose');
var DataSchema = new mongoose.Schema({
name: {
type: String,
required: true,
lowercase: true
},
created: {
type: Date,
default: Date.now
},
updated: {
type: Date,
default: Date.now
}
});
DataSchema.pre('save', function(next) {
this.updated = Date.now();
return next();
});
mongoose.model('Data', DataSchema);
答案 1 :(得分:-1)
使用 Mongoose,您可以定义架构,以便自动添加 updatedAt
属性。
new db.Schema(
{
name: String,
},
{ timestamps: true }
)