所以,我试图(单位)使用 mongoose 和 mocha 测试一些功能。问题是,当我尝试save( )
架构时, updatedAt 字段会被重写为当前时间。
即。我有以下申请人
const applicant: DataModel = new DataSchema({
"user_name": "user_notifying2rejected",
"uuid": "10",
"status": "notifying_user",
"request_origin": "127.0.0.10"
});
然后,我做
applicant.updatedAt = new Date(new Date() - 2.592e+8);
当我console.log(applicant.updateAt)
时,我会得到正确的必要日期,基本上是“3天前”。
然后,像往常一样,我使用mongoose将其保存到数据库:
await application.save();
然而,当我尝试验证文档(我刚刚保存)时,我得到以下内容:
{
createdAt: 2018-05-28T16:43:31.648Z,
updatedAt: 2018-05-28T16:43:31.648Z,
user_name: 'user_notifying2rejected',
uuid: '10',
request_origin: '127.0.0.10',
_id: 5b0c31b06698440017d1593e,
status: 'notifying_user'
}
现在 updatedAt 是今天的日期,而不是“3天前”,因为我想要它。如何阻止 mongoose 或 mongoose.save 更改/覆盖我的 updatedAt 字段?
这是Schema。如果您还有其他需要,请告诉我。
模式
const DataSchema: Schema = new Schema({
user_name: {
type: String,
required: true
},
uuid: {
type: String,
required: true
},
status: {
type: String,
required: true,
default: "unprocessed"
},
request_origin: {
type: String,
required: true
}
},
{
timestamps: { createdAt: "createdAt", updatedAt: "updatedAt" }
});
答案 0 :(得分:0)
如果您在申请人文档中更改updateAt,为什么要使用await application.save();
?