2017-04-21 25 views
0

에 의해 발견은 몽구스 나는 두 스키마가 OBJECTID 참조

내가 그렇게 할 수있는 방법 town.name 모든 광고를 발견 쿼리를 만들 필요가
let townSchema = mongoose.Schema (
    { 
     name: {type: String, required:true, unique:true}, 
     ads: [{type: ObjectId, ref: 'Ad'}] 
    } 
); 

?

+0

1) 당신이 사용할 수있는 마을 이름'find'으로 townSchema에 그것을 쉽게 첫 번째 쿼리를 수행하고 그들에게 모든 광고 식별자는 다음 adSchema에 쿼리 수 . 2) 자동 생성 플러그인'https : // github.com/mongodb-js/mongoose-autopopulate'를 사용할 수 있습니다. –

답변

0

이름으로 마을을 요청하고 mongoose populate 메소드를 사용하여 마을 개체의 ads 배열을 채울 수 있습니다.

당신은 몽구스 문서의 예를 찾을 수 있습니다

http://mongoosejs.com/docs/populate.html

+0

네,하지만 광고 스키마와 작성자의 카테고리 참조가 있습니다. 목록을 작성할 필요가 있습니다.하지만 Town-town 이름으로 검색하면 입력 할 수 없습니다. –

+0

아, 좋아, 나는 그것이 참고 사항이라는 것을 알지 못했다. mongo가 문서 지향 데이터베이스라는 점을 감안할 때, 관계가 몇 개일 경우 타운 스키마 내에 광고 스키마를 포함시킬 수 있습니다. 또 다른 옵션은 마을 이름을 광고 메타 데이터로 유지하는 것입니다. mongo 스키마 디자인의 기본 규칙은 https://www.mongodb.com/blog/post/6-rules-of-thumb-for-mongodb-schema-design-part-1에서 확인할 수 있습니다. – catacs

관련 문제