programing

Mongoose에서 Enum을 생성하여 사용하는 방법

bestprogram 2023. 3. 23. 23:13

Mongoose에서 Enum을 생성하여 사용하는 방법

I'm noting to create and use the precessionenumMongoose 라고 입력합니다.확인해 봤는데 제대로 된 결과가 나오지 않네요.사용하고 있다enum내 프로그램에 다음과 같이 표시됩니다.

스키마는 다음과 같습니다.

var RequirementSchema = new mongooseSchema({
   status: {
        type: String,
        enum : ['NEW,'STATUS'],
        default: 'NEW'
    },
})

하지만 나는 여기서 조금 혼란스럽다, 어떻게 그 가치를 넣을 수 있을까?enum에서처럼Java NEW("new"). 어떻게 하면enum데이터베이스에 입력됩니다.express node.js에서 사용하고 있습니다.

여기서 enum은 기본적으로 String 객체입니다.열거 행을 다음으로 변경합니다.enum: ['NEW', 'STATUS']대신.당신은 거기에 당신의 따옴표와 오타가 있습니다.

문서에서

Mongoose에는 여러 검증기가 내장되어 있습니다.문자열에는 검증자 중 하나로 열거형이 있습니다.따라서 enum은 검증자를 생성하여 값이 배열에 지정되어 있는지 확인합니다.예:

const userSchema = new mongoose.Schema({
   userType: {
        type: String,
        enum : ['user','admin'],
        default: 'user'
    },
})

예를 들어 열거가 있다고 합시다.Role정의하다

export enum Role {
  ADMIN = 'ADMIN',
  USER = 'USER'
}

다음과 같은 유형으로 사용할 수 있습니다.

{
    type: String,
    enum: Role,
    default: Role.USER,
}

TypeScript를 사용하는 경우enum인터페이스로 사용할 수 있습니다.IUserSchema하지만 스키마에서는array(Object.values(userRole)).

enum userRole {
    admin = 'admin',
    user = 'user'
}

interface IUserSchema extends Document {
    userType: userRole
}

const UserSchema: Schema = new Schema({
    userType: {
        type: String,
        enum: Object.values(userRole),
        default: userRole.user, 
        required: true
    }
});

Enums는 String 객체입니다.다음은 예를 제시하겠습니다.enum :['a','b','c']아니면 아마 이렇게const listOfEn = ['a','b','c']; => enum: listOfEn

스키마 설계에서는 다음과 같은 enum 키워드를 사용하여 열거 값을 쉽게 추가할 수 있습니다. -

catagory: {
    type: String,
    enum: ['freeToPlay','earlyAccess','action','adventure','casual','indie','massivelyMultiplayer','racing','simulation','RPG','sports','statigy'],
    default: 'freeToPlay'
},

언급URL : https://stackoverflow.com/questions/29299477/how-to-create-and-use-enum-in-mongoose