javascript - 时间过去后,MongoDB 将属性恢复为默认值
问题描述
我有一种情况,我需要在 User 对象内将 MongoDB 属性设置回 0(其默认值)。
例如,statusCode 设置为 1 表示帐户正在审核中,如果 5 分钟后未设置为其他值,则必须将其设置回其原始值 0。
我将这些用作用户对象的状态代码,1 表示该帐户正在由管理员审查并阻止其他管理员加载相同的对象。
但是,如果由于某种原因管理员没有完成审核过程,我不希望将值保留为 1,因为这样就不会加载对象来完成审核过程。
在下面的代码中,我在我的 Express 路由中将值设置为 1,但不确定在何处应用此逻辑以将值恢复为 0,如果它没有设置为另一个值,例如 2、3、4 等......之后5分钟
谢谢!
router.get(`/api/verify`, auth, async (req, res) => {
try {
const user = await User.findOne({
idVerified: false,
verificationStatus: 0,
}).sort({
createdAt: 1,
})
if (!user) {
return res
.status(404)
.send({ error: "No users to verify, check back soon!" })
}
// set to 1 signifying account is under review
await user.updateOne({ verificationStatus: 1 })
s3VerificationBucket.getSignedUrl(
"getObject",
{
Bucket: "mapspot-verification",
Key: user.idImageKey,
},
(err, url) => res.send({ user, url })
)
} catch (err) {
res.status(500).send()
}
})
解决方案
推荐阅读
- ibm-watson - 如何使用 Telegram 应用程序使 Watson Discovery 在 Node-RED 上返回查询结果?
- raku - 为什么 += 与 + 的性能差异?
- git - 我需要将哪个 BitBucket 插件与 IntellJ 一起使用?
- python - pytorch LSTM 不会过拟合单个样本
- flutter - Flutter DataTable 移除额外的填充
- magento - Magento 1.9 管理仪表板不会加载
- python - Python - 有效地将数据从元组列表提取到另一个列表
- r - 为向量设置子集时如何保存级别?
- validation - 如何为这段代码找到最强的循环不变量?
- react-native - 使用 react-router-native 的链接进行测试时出现“TypeError:无法读取未定义的属性‘默认’”