создать собственный тип Mongoose

Как создать собственный тип mongoose, наподобие type в TS ?

const { Schema, model } = require('mongoose');

export type AccessType = 'public' | 'private'

const UserSchema = new Schema({
  email: { type: String, uniq: true, required: true },
  password: { type: String, required: true },
  access: { type: AccessType, required: true },
});

module.exports = model('User', UserSchema);

П.с. - Такой вариант (с AccessType) не будет работать, это просто как пример того, что нужно


Ответы (1 шт):

Автор решения: HaZcker

Для решения данной задачи подходит свойство enum

const { Schema, model } = require('mongoose');

const AccessEnum = ['public', 'private']

const UserSchema = new Schema({
  email: { type: String, uniq: true, required: true },
  password: { type: String, required: true },
  access: { type: String, enum: AccessEnum, required: true },
});

module.exports = model('User', UserSchema);
→ Ссылка