2011-12-21 1 views
0

MongoMapper와 Sinatra를 사용하는 webapp를 만들고 있습니다. DB 컬렉션에 대해 검색 기능을 어떻게 구현할 수 있을지 궁금합니다. SQL과 같은 것이지만 :MongoMapper로 MongoDB DB에서 문자열을 검색 중

SELECT * FROM posts WHERE match(title) against ("String to search"); 

MongoMapper를 사용하여 어떻게하면됩니까? 감사! 경우를 구분 뿌리 정규 표현식과 일치하는 문서

답변

0

확인 일 :

Post.where(:title => Regexp.new(/^string/i)) # Limit output with: .limit(10) 

어쩌면 그것은 정규 표현식입니까?

+0

그것은 완벽하게 고마워했습니다! : D – pmerino

+0

기꺼이 도와 드리겠습니다. 문서가없는 작은 것들이 있습니다 :) – three

0

당신의 쿼리

Post.where(:title => /^stringtosearch/).first 

MongoDB를 전체 텍스트 검색을 지원하지 않습니다 그래서 이것은 당신이 지금 할 수있는 최선이다. 이 내 프로젝트에서하고 수행

+0

'# '이 표시됩니다. 내가 보았던 것 (꽤 초보자)에서 나는 그것들과 결코 성공하지 못했다. 방향을 좀 알려주시겠습니까? 또한 'empty?'로 테스트하면 – pmerino

+0

Post.where (: title => "stringtosearch")도 작동하며이 문자열과 정확히 일치합니다. – three

+0

@three 나는 그 문자열이 포함 된 모든 결과와 일치해야한다. – pmerino