2017-10-22 9 views
0

MongoDb와 Mongoose를 사용하여 연습 전자 상거래 사이트의 모델을 만듭니다.몽구스 모델에 다른 크기의 제품을 추가하는 방법은 무엇입니까?

var mongoose = require('mongoose'); 

module.exports = mongoose.model('Product',{ 
    imagePath: {type: String, required: true}, 
    title: {type: String, required: true}, 
    description: {type: String, required: true}, 
    price: {type: Number, required: true} 
}); 

내 질문이를 추가 할 수있는 가장 좋은 방법은 무엇입니까 I는 S, M 등 다양한 크기 옵션이있는 셔츠가 있다고 가정하고, L. : 여기 내 제품 모델에 대한 지금까지이 무엇인가? 또한 재고 추적을 포함하면 모든 크기를 어떻게 추적 할 수 있습니까? 미리 감사 드리며 모든 도움을 주시면 감사하겠습니다.

답변

0

여러 가지 방법이 있지만 가장 쉬운 방법은 일부 하위 스키마를 사용하는 것입니다. 제품 정의에서 다음

const ProductVariant = new mongoose.Schema({ 
    name: String, // If you're certain this will only ever be sizes, you could make it an enum 
    inventory: Number 
}); 

: 예를 들어 당신이 뭔가를 만들 수

module.exports = mongoose.model('Product',{ 
    imagePath: {type: String, required: true}, 
    title: {type: String, required: true}, 
    description: {type: String, required: true}, 
    price: {type: Number, required: true}, 
    variants: [ProductVariant] 
}); 

당신이 원하는 경우, 당신은 또한 변형의 이름은 제품 별 고유되었는지 확인하기 위해 몇 가지 논리에 훅 수있는, 이것은 기본적인 구현이다.