2013-10-01 7 views
1

내가 다음과 같습니다 데이터 구조와 MongoDB를의 테이블을 가지고 말 :하위 문자열을 사용하는 scala 용 casbah 드라이버를 사용하여 mongodb에 대한 쿼리를 작성하고 해당 필드가 제공된 값 목록에 있는지 확인하십시오.

내가 그 FULL 언어 코드 또는 해당 언어 코드의 하위 문자열 항목을 (검색 할 수 있도록 내 쿼리를 작성합니다 어떻게
{ 
    _id: "123456", 
    provider: "apple", 
    languageCode: "en-US", 
    data: "some data" 
} 

2 자) 내 languageCodeFilter 문자열 목록에 있습니까? 따라서 항목의 languageCode가 "en-US"또는 "en-CA"이면 필자는 필자의 필터에 "en"이 있기 때문에 일치합니다. 항목에 "fr"또는 "fr-FR"이 있으면 "fr-CA"만 묻기 때문에 반환되지 않습니다.

val provider: String = "apple" 
val languageCodeFilter : List[String] = List("en", "fr-CA", "it") 
val query: DBObject = MongoDBObject("provider" -> provider 
    , /* what do i put here? */) 

답변

2

정규식을 만들 수 있습니다. 내 환경을 테스트 할 필요가 없지만이 작업을 수행하면 도움이됩니다.

+0

멋진 정규 표현식입니다. 감사합니다. 선생님! 훌륭하게 작동합니다. – Donuts

+0

여러분을 환영합니다! 그것이 시험하지 않았기 때문에 특히 효과적 이었기 때문에 다행했습니다. :) – joescii