2015-02-03 5 views
0

MongoDB를 날짜에 쿼리 정규식을 PHP는 않고, 내가 그것을 가능 어린 아이 쿼리입니다 정상적인 날짜 문자열로 2015 년어떻게 내가 사용자의 컬렉션이

에 등록 된 모든 사용자 싶어 :

$query=[ 
    'timestamp'=> [ 
     '$regex' => "2015" 
    ] 
]; 

그러나 나는 이것을 MongDate 타임 스탬프에서 시도 할 때 더 이상 일하지 않습니다.

아이디어가 있으십니까?

+0

mangodb 쿼리를 원하십니까? –

답변

1

MongoDB에 저장된 날짜는 문자열이 아니며 날짜 유형입니다. 정규 표현식은 문자열이 아니기 때문에 정규 표현식과 비교할 수 없습니다. (당신이 그것을 빨리하고 싶은 경우, 인덱스 날짜 필드) 대신에, 단지 날짜 범위로 검색 : 나는 몽고 쉘 구문에서 쿼리를 작성 있도록

db.test.find({ "timestamp" : { "$gte" : ISODate("2015-01-01T00:00:00.000Z"), "$lt" : ISODate("2016-01-01T00:00:00.000Z") } }) 

내가 PHP에 익숙하지 않다.

+0

은 upvote가 필요합니다. 날짜 객체를 정규 표현할 수 없다는 것을 의미합니다. 따라서 다음으로 할 수있는 일은 $ gte $ lt 연산자를 사용하는 것입니다. – devonJS