2017-03-02 3 views
1

나는 pymongo 쿼리 사용 기간을

{"_id": "1", "jobUploadDate": "2017-02-01T14:30:57.361Z"}, 
{"_id": "2", "jobUploadDate": "2017-02-02T14:31:26.497Z"}, 
{"_id": "3", "jobUploadDate": "2017-02-03T15:04:45.064Z"} 

이 두 날짜

def find_jobs(self,from_date,to_date): 
    to_date = datetime.datetime.strptime(to_date, "%Y%m%d").isoformat() 
    from_date = datetime.datetime.strptime(from_date, "%Y%m%d").isoformat() 
    query = {} 
    query['jobUploadDate'] = {'$lte': to_date,'$gte':from_date} 

    #self.db = .....get mongodb connection and 

    jobs_found = self.db.jobs.find(query, { 
     '_id': 1, 
     'jobUploadDate': 1}) 

    return dumps(list(jobs_found)) 

print(find_jobs("20170202","20170202")) 

나는 다음과 같은 출력을 기대하고 사이에 일자리를 찾기 위해, pymongo을 사용하고 가지고, MongoDB를 수집라는 직업을 가지고 있지만, 결과를 반환하지 않습니다.

{"_id": "2", "jobUploadDate": "2017-02-02T14:31:26.497Z"} 

"jobUploadDate"를 날짜와 스트립 시간에 투영하고 비교하는 방법은 무엇입니까?

답변

0

당신이 날짜를 제거하는 데 사용하는 날짜 형식 날짜 제로 시간을 할당,이 테스트 :

dstring = "20170202" 
d = datetime.strptime(dstring, "%Y%m%d") 
print(d) 

2017-02-02 00:00:00 

은 그래서 당신은 당신이 원하는 일일의 범위 find_jobs("20170202","20170203")를 호출해야합니다.