我想使用 mongoose 中间件挂钩重新尝试保存文档,以防初始保存因重复键错误而失败。用例如下:
我的模型使用自动生成的 slug 进行识别。例如item, item-2, item-3, ..., item-n。如果item已经存在,则应在 slug 中添加一个计数器。我无法提前检查“下一个”slug,因为我需要在任何情况下避免冲突。
由于这个逻辑会涉及到几个不同的模型,我想把它隔离成一个猫鼬插件。
这个想法可能吗?例如schema.post('save', handler),仅在成功保存时执行。还有其他可以利用的钩子吗?