2011-10-04 5 views
0

그래서, 데이터는 모습입니다 :MongoDB에서이 데이터를 쿼리하는 방법은 무엇입니까?

{"_id":"asfasbasdf123", session:"lastAccess:1002040506, myd:'ataber244' "} 

lastAccess는 날짜입니다. 숫자는 UTC 날짜입니다.

"lastAccess"날짜가 특정 날짜보다 적은 데이터는 어떻게 쿼리해야합니까? "session"변수의 문자열 부분에 lastAccess가 있습니다.

감사합니다.

  • 그런데 명령 행을 의미합니다.
+0

언어를 사용하면 쿼리 사용하고 있습니까? 자바 스크립트에서? – Tilo

+0

명령 줄을 사용합니다. mongoose가있는 node.js가있는 솔루션이 필요할 수도 있습니다. – murvinlai

답변

1

그래서 첫 번째 큰 문제는 입니다 "왜 세션은 문자열입니다."

{"_id":"asfasbasdf123", session:"lastAccess:1002040506, myd:'ataber244' "} 

필자는 단순한 쿼리에 대해 알지 못합니다. 기본적으로 정규 표현식을 수행하고 비교를 수행해야하지만, 이는 사소하지 않습니다. 다음 그렇다면

{"_id":"asfasbasdf123", session: { lastAccess: 1002040506, myd: 'ataber244' }} 

은, 당신은 할 수 있습니다 :

그것은이 다음을 수행하는 것이 가능

db.sessions.find({ 'session.lastAccess' : { $lt: your_timestamp } }) 
+0

한숨 .. 나는 connect-mongo 데이터 저장소를 사용하고있다. 데이터는 문자열로 저장됩니다. 그게 .. 내 통제에서 다소 벗어났다. 그것은 문자열이지만 개체가 아니라면, 나는 무엇을해야하고 덜 두통인지를 안다. ( – murvinlai

+0

세션을 꺼내고 json으로 구문 분석 한 다음 오른쪽으로 마지막 액세스를 변환하는 map-reduce 함수를 작성할 수있다. datetime 형식으로 비교 한 다음 – Travis

+0

실제로 특정 요일보다 오래된 레코드를 삭제하려고합니다. 그래서 레코드를 제거하면 Map Reduce가 작동하지 않을 수 있습니다. – murvinlai

관련 문제