2012-03-02 5 views
3

mongo에서 특정 숫자로 끝나는 ID를 가진 사용자를 쿼리하려고합니다. 이 숫자는 내가 전달하는 매개 변수입니다.Mongo가 특정 숫자로 끝나는 사용자를 얻습니다.

그래서 4 명의 사용자가있는 경우 [3544,42345,66452,7348], ID가 끝나는 사용자에 관심이 있다면 어떻게 쿼리하여 7348 사용자를 얻을 수 있습니까? 8.

여기를 통해 검토 한 결과,하지만 무엇을 작동하는 것과 찾을 수 없습니다 :

http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-RegularExpressions

UPDATE : 이가 PHP 인 일을하고, 예상 값은 INT의, 아니다 문자열. 내 where 절은 다음과 같습니다 : $ where = array ('uid'=> '/ 8 $ /'); 당신이 id가 끝 숫자 8에서 사용자를 찾으려면

+0

, 당신은 MongoRegex 클래스를 사용해야합니다. – KTB

답변

6

당신은이 작업을 수행해야합니다 :

db.users.find({ id : /[8]$/ }); 

$는 줄의 끝으로 일치합니다. ^와 같이 줄의 시작 부분과 일치합니다. 자세한 내용은 this을 참조하십시오.

int 유형 데이터 필드의 마지막 자리를 찾으려면 $ mod 연산자를 사용해야합니다.

+1

이것은 숫자 문자열 인 열에서 작동했습니다. int 인 열에서는 작동하지 않습니다. 그것은 그럴듯한가? – user1082428

6

이 그것을 수행해야합니다

당신은 몽고-PHP-확장에 정규 표현식을 사용하는 경우
db.users.find({ id : { $mod : [ 10 , 8 ] } }) 
관련 문제