2017-03-02 18 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"} 

2つの日付

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のコレクションという名前のジョブを持っているが、それ結果は返されません。日付とストリップ時間に「jobUploadDateを」プロジェクトと比較する方法を

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

答えて

0

あなたは日時を除去するために使用する日付形式が日付にゼロ時間を割り当て、テストこの:

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

2017-02-02 00:00:00 

ので、あなたがしたい一日の範囲のためのfind_jobs("20170202","20170203")を呼び出す必要があります。

関連する問題