mongodb가 조인을 지원하지 않아 다양한 비즈니스 컬렉션, 서비스 및 사용자를 검색해야하므로 솔루션을 제안했지만 필자는이를 검증해야하고/또는 개선.참조 된 여러 컬렉션에서 mongo로 텍스트 찾기
계획의 흐름은 다음과 같이 보일 것이다 :
Business = Schema({
name:String
services:[{
type:ObjectId,
ref:'Services'
}],
specialist:[{
type:ObjectId,
ref:'User'
}]
})
User = Schema({
full_name:String
businesses:[{
_id:{
type:ObjectId,
ref:'Business'
},
name:String,
role:String,
is_owner:Boolean
}]
})
Service = Schema({
name:String,
business:{
type:ObjectId,
ref:'Business'
},
specialist:[{
type:ObjectId,
ref:'User'
}]
})
Search = Schema({
text:{
type:String,
index:'text'
},
business:{
_id:{
type:ObjectId,
ref:'Business'
},
name:String
},
services:[{
_id:{
type:ObjectId,
ref:'Service'
},
name:
}],
specialist:[{
_id:{
type:ObjectId,
ref:'User'
},
full_name:String
}]
})
기업은 서비스 전문가에 의해 수행, 모든 시간이 비즈니스 전문가를 추가하는 서비스를 제공하고, 사용자는 자신의 데이터에 새로운 사업을해야합니다 구체적인 역할을 맡았습니다.
비즈니스를 만들 때 검색에서 문서를 만들고 비즈니스에서 전문가에게 할당 한 서비스를 만들면 검색 컬렉션에 문서가 추가됩니다. 이 문서의 각 수정에서 텍스트 필드는 비즈니스 이름, 서비스 및 전문가의 연결로 업데이트되며 텍스트로 색인 된 검색을 수행 할 단일 모음을 갖습니다. 찾고있는 분야는 비즈니스가됩니다.
누구나 모델 및 검색 할 공통 컬렉션의 솔루션에 대한 제안 사항이 있습니다.