Можно ли определить автоматически сгенерированное не перезаписываемое поле в схеме Мангуста? Мой вариант использования заключается в том, что мне нужно определить поле uuid
в моей схеме, которое должно быть автоматически сгенерировано. Но нельзя допускать его установки save
, update
или любыми другими update
вариантами.
Я придумал следующий подход, но он выглядит как хакерский. Я перебираю документы, но не могу найти подходящий способ сделать это.
Мое решение (упрощенно для краткости)
const Schema = mongoose.Schema({
uuid: {
type: String,
set: uuid, // If uuid is provided overwrite it using uuid()
default: uuid // If uuid is not provided, set the default value using uuid()
},
// redacted
});
Есть ли правильный способ достичь этого?