Mongoose에서 Enum을 만들고 사용하는 방법


87

enumMongoose 에서 유형 을 만들고 사용하려고합니다 . 확인했지만 적절한 결과를 얻지 못했습니다. enum내 몽구스 스키마에서 다음과 같이 사용 하고 있습니다.

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

그러나 나는 여기서 약간 혼란 스럽 enum습니다 Java NEW("new"). 좋아요 의 가치를 . enum열거 가능한 값에 따라 데이터베이스에 어떻게 저장할 수 있습니까 ? 나는 그것을 express node.js에서 사용하고 있습니다.

답변:


134

여기 열거 형은 기본적으로 String 객체입니다. enum: ['NEW', 'STATUS']대신 열거 줄을 변경하십시오 . 따옴표와 함께 오타가 있습니다.


이것을 사용자 테이블에 어떻게 연결합니까? 내 것이 작동하지 않습니다. 내 사용자 테이블에이 역할 하나를 삽입했습니다. {type : mongoose.Schema.Types.ObjectId, ref : 'roles',},
Jm Macatangay

52

로부터 문서

Mongoose에는 여러 개의 내장 유효성 검사기가 있습니다. 문자열에는 유효성 검사기 중 하나로 열거 형 이 있습니다 . 따라서 enum은 유효성 검사기를 만들고 값이 배열에 제공되는지 확인합니다. 예 :

var userSchema = new mongooseSchema({
   userType: {
        type: String,
        enum : ['user','admin'],
        default: 'user'
    },
})


기본 userType을 저장하는 것이 좋습니다. userType을 js에서 amdin으로 변경하는 방법은 무엇입니까?
Qui-Gon Jinn

이것을 사용자 테이블에 어떻게 연결합니까? 내 것이 작동하지 않습니다. 내 사용자 테이블에이 역할 하나를 삽입했습니다. {type : mongoose.Schema.Types.ObjectId, ref : 'roles',},
Jm Macatangay

10

Enums는 String 객체이므로 예를 들어 : enum :['a','b','c']또는 아마도 다음과 같습니다. const listOfEn = ['a','b','c']; => enum: listOfEn

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.