我使用Mongoose模型进行了更新,并使用$inc
操作符检索该模型,实现了简单的视图计数器:
const profile = await Profile.findOneAndUpdate({ userName }, { $inc: { viewsCount: 1 } });
Profile
模式启用了 timestamps
选项。问题是,在更新 viewsCount
期间会更新 updatedAt
,这不是期望的行为。
我希望在尽可能少的查询情况下禁用在更新 viewsCount
时更新 updatedAt
。
我假设 Mongoose 时间戳是通过 pre-hooks 实现的。
如何让 findOneAndUpdate
在不更新 updatedAt
的情况下增加 viewsCount
?
可以通过否定时间戳钩子的效果来实现吗?
有类似的问题解决了更新 updatedAt
的问题,但解决方案不适用于该情况。