Я думаю, что один из способов сделать это - просто создать новый временный документ при каждом новом запросе, который будет автоматически вводить все поля в соответствии со схемой.Например: -
const doc = new Model(match);
Затем вы можете запустить document.validate, чтобы получить обещание определить, соответствует ли оно совпадению.
doc.validate(function (err) {
if (err) handleError(err);
else // validation passed
});
И тогда вы можете просто избежать сохраненияДокумент в базе данных.
Кроме того, после изучения исходного кода для mongoose, я заметил, что mongoose выполняет приведение типов отдельно для разных полей, а не для всего документа.Поэтому, возможно, не существует функции, доступной через api, чтобы сделать это для всего документа.
Однако вы можете использовать SchemaType.cast (), предоставляемый mongoose для этой функции для отдельных полей.Вот ссылка на документацию: - Mongoose SchemaTypecast