2017-12-27 3 views
0

나는 내가 다음 스키마가 어디에 내 DB를 이미 만들었습니다몽구스 스키마 업데이트는 MongoDB를 데이터베이스로 데리러되지

const ProjectSchema = new mongoose.Schema({ 
    name: { type: String }, 
    description: { type: String }, 
    client: { 
     type: mongoose.Schema.Types.ObjectId, 
     ref: 'client' 
    }, 
    group: { 
     type: mongoose.Schema.Types.ObjectId, 
     ref: 'project_group' 
    } 
}); 

내가

const ProjectSchema = new mongoose.Schema({ 
    name: { type: String, unique: true, required: true }, 
    description: { type: String }, 
    client: { 
     type: mongoose.Schema.Types.ObjectId, 
     ref: 'client' 
    }, 
    group: { 
     type: mongoose.Schema.Types.ObjectId, 
     ref: 'project_group' 
    } 
}); 

때문에에 스키마를 변경할 필요를 우리는 이름이 null이 아닌 고유하도록 강제해야합니다. 이 정의를 변경 한 후에도 db가 동일한 이름 값을 가진 문서를 저장하고있는 것을 볼 수 있습니다. 제 질문은 스키마에서 수행 한 변경 사항을 어떻게 적용 할 수 있습니까? 수동으로하지 않고 자동으로 어떻게 할 수 있습니까?

안부

답변

0

당신은 그 필드가 그렇게 될 수 인덱스 가능성이 가장 필요로 신속하게 검색. 그런 다음 아직 서버를 다시 시작하지 않은 경우 서버를 다시 시작하십시오. MongoDB Compass (공식 MongoDB GUI)를 사용하거나,이 문서를 읽을 수 있다면 쉽게 할 수 있습니다. https://docs.mongodb.com/manual/core/index-single/#create-an-index-on-an-embedded-field

+0

감사합니다. 그게 내가 원하는거야. – user3005919