2014-02-13 3 views
0

방금 ​​몽구스를 사용하기 시작했고, 내 데이터 스키마를 선언했습니다. 같은 형식으로 더 많은 하위 문서를 선언 할 수 있습니다 궁금하네요. 두 번째 또는 세 번째 위치 하위 문서를 추가하고 싶습니다. 어떻게 처리합니까?몽구스 스키마 내에 여러 하위 문서에 대한 지원을 추가 하시겠습니까?

var nest_schema = mongoose.Schema({ 
company_name: String, 
website: String, 
chain: Boolean, 
date: { 
    date_added: Date, 
    date_lastupdated: { type: Date, default: Date.now},  
    }, 
rating: { 
    yelp_rating: Number, 
    yelp_reviews: Number, 
    user_rating: Number, 
    }, 
locations: { 
    location_number: Number, 
    location_name: String, 
    address: String, 
    phone: String, 
    hours: { 
     Monday: String, 
     Tuesday: String, 
     Wednesday: String, 
     Thursday: String, 
     Friday: String, 
     Saturday: String, 
     Sunday: String, 
     }, 
drinks: { 
    drink: String, 
     sizes: { 
      small: Number, 
      medium: Number, 
      large: Number, 
      } 
     } 
     } 
}); 

답변

1

기본 스키마를 다른 스키마를 정의하고 포함 :

var drinksSchema = mongoose.Schema({ 
    drinks: { 
    drink: String, 
    sizes: { 
     small: Number, 
     medium: Number, 
     large: Number, 
    } 
    } 
}); 
+1

당신이 필요로 :

var nest_schema = mongoose.Schema({ company_name: String, website: String, chain: Boolean, date: { date_added: Date, date_lastupdated: { type: Date, default: Date.now}, }, rating: { yelp_rating: Number, yelp_reviews: Number, user_rating: Number, }, locations: [locationSchema], drinks: [drinkSchema] }); var locationSchema = mongoose.Schema({ number: Number, name: String, address: String, phone: String, hours: { Monday: String, Tuesday: String, Wednesday: String, Thursday: String, Friday: String, Saturday: String, Sunday: String, } }); 

당신은 아마 또한 음료뿐만 아니라 자신의 스키마를 만들고 싶어합니다 어레이에 추가하는 것과 같은 하위 문서를 추가하십시오. 그래서'nest_schema.location.push ({subdoc stuff here}})와 같은 것입니다; – srquinn

관련 문제