node.js - save() 忽略“updateAt”字段更改
问题描述
所以,我正在尝试(单元)使用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字段?
这是架构。需要帮助请叫我。
架构
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" }
});
解决方案
如果您在申请文件await application.save();
中更改 updateAt,为什么要使用?
推荐阅读
- javascript - 如何使用 django ajax jquery 为特定产品创建多个图像
- javascript - 我想将动态分配的 id 传递给 javascript 函数
- javascript - 字符串比较不适用于过滤方法
- java - JMeter:获取发布请求 URL 和数据
- symfony - 找不到类“appProdProjectContainer”
- python - 无法安装 gmplot 包
- java - Java 测试除以零
- android - 如何设置默认导航抽屉并选择不同的片段?
- php - 当位置/目的地表示为字符串时,如何更新关联数组中的值?
- azure - 如何将内容从一个 Azure Web 应用程序复制到 Azure 门户中的另一个 Web