나는 이름의 일부를 포함하는 필드를 쿼리하기 위해 Casbah와 Salat를 사용하여 쿼리를 작성하려고합니다. I의 (a SalatDAO 내부)과 같은 정규 표현식을 사용하려고 :Casbah/Salat : 문자열의 일부가 들어있는 필드를 쿼리하는 방법?
val regexp = (""".*"""+serverName+""".*""").r
val query = "serverName" -> regexp
val result = find(MongoDBObject(query))
및
val regexp = ".*"+serverName+".*"
기록은 MongoDB를이고 내가 완전한 이름으로 검색 할 때 작동
과 함께합니다.문자열의 일부를 검색하도록 casbah에 알리는 올바른 방법은 무엇입니까?
수정하고 싶은 또 다른 사항은 매개 변수의 문자열 연결입니다. casbah를 사용하여 입력 매개 변수를 이스케이프하는 기본 방법이 없으므로 매개 변수가 이 아닌 javascript 명령으로 해석됩니까? 서버 이름을 찾을 수 있습니다 MongoDB의 쉘에서
최고 감사합니다, 올리버
귀하의 데이터를 보여주십시오. –
다음은 내가 쿼리 한 데이터 중 일부입니다 : case class Machine (_id : ObjectId = new ObjectId, serverName : Option [String], – Odo
괜찮 았는데 수정 된 것 같음 'val query = "serverName"- > regexp.r ' – Odo