Я хотел бы использовать крючок промежуточного программного обеспечения mongoose, чтобы повторить попытку сохранения документа в случае неудачного первоначального сохранения с дублирующейся ключевой ошибкой. Вариант использования выглядит следующим образом:Использовать кран mongoose для повторной попытки сохранения при повторной ошибке ключа
В моей модели используются пули для идентификации, которые автоматически генерируются. Например. item
, item-2
, item-3
, ..., item-n
. В случае, если item
уже существует, счетчик должен быть добавлен в пул. Я не могу проверить «следующий» слизень заранее, так как мне нужно избегать конфликтов при любых обстоятельствах.
Поскольку эта логика будет задействована в нескольких разных моделях, я хотел бы выделить ее в плагин mongoose.
Возможно ли это вообще? Например. schema.post('save', handler)
только выполняются при успешном сохранении. Есть ли другие крючки, которые я могу использовать?
Благодарим за предложение. Потенциальная проблема с этим решением заключается в том, что проверка доступных слизней и сохранение нового документа не является атомарным. Честно говоря, это не проблема * огромная * в настоящее время, но я хотел избежать будущих ловушек с самого начала. – qqilihq