반응형
특정 값을 가진 Mongoose 스키마 속성
내 코드는 다음과 같습니다.
var userSchema = new mongoose.Schema({
email: String,
password: String,
role: Something
});
역할 속성을 특정 값('admin', 'member', 'guest' 등)으로 정의하는 것이 목표입니다. 이를 달성하는 더 좋은 방법은 무엇입니까?잘 부탁드립니다!
열거형을 할 수 있습니다.
var userSchema = new mongoose.Schema({
// ...
, role: { type: String, enum: ['admin', 'guest'] }
}
var user = new User({
// ...
, role: 'admin'
});
역할에 대한 특정 값을 가질 수 있는 방법은 없지만, 마스터 개체 유형을 기반으로 여러 개체 유형을 만들고 각각 고유한 역할(및 구별할 다른 모든 역할)을 사용할 수 있습니다.예를 들면...
var userSchema = function userSchema() {};
userSchema.prototype = {
email: String,
password: String,
role: undefined
}
var member = function member() {};
member.prototype = new userSchema();
member.prototype.role = 'member';
var notSupposedToBeUsed = new userSchema();
var billTheMember = new member();
console.log(notSupposedToBeUsed.role); // undefined
console.log(billTheMember.role); // member
다른 가능성은 기본 제공 값 중 하나를 쉽게 선택할 수 있는 생성자가 있는 사용자 스키마를 사용하는 것입니다.예를 들면...
var userSchema = function userSchema(role) {
this.role = this.role[role];
// Gets the value in userSchema.role based off of the parameter
};
userSchema.prototype = {
email: String,
password: String,
role: { admin: 'admin', member: 'member', guest: 'guest' }
}
var a = new userSchema('admin');
var b = new userSchema('blah');
console.log(a.role); // 'admin'
console.log(b.role); // undefined
더 보기: http://pivotallabs.com/users/pjaros/blog/articles/1368-javascript-constructors-prototypes-and-the-new-keyword
언급URL : https://stackoverflow.com/questions/13284157/mongoose-schema-property-with-specific-values
반응형
'programing' 카테고리의 다른 글
MongoDb Atlas 서버에 연결하는 중 오류 발생 (0) | 2023.07.06 |
---|---|
정적 인라인, 외부 인라인 및 일반 인라인 기능의 차이점은 무엇입니까? (0) | 2023.07.06 |
excel의 최대값에 대한 행 레이블 반환 (0) | 2023.07.06 |
Python: base64 디코딩 시 '잘못된 패딩' 오류 무시 (0) | 2023.07.06 |
Firebase 익명 사용자는 어떻게 됩니까? (0) | 2023.07.06 |