2017-05-21 4 views
0

오늘 날짜 기능을 가진 문서를 찾는 데 문제가 있습니다. 이중 문자열은 다음과 같이 주위 첨부 내 문서에 그러나 2017-05-21pymongo에서 질의 문제

, 값 (몽고) : 다음과 같은 값을 제공

datetime.datetime.now().date().strftime('%Y-%m-%d') 

:

나는 다음과 같은 기능을 사용 "2017-05-21"

문자 그대로 위의 문자열 ("2017-05-21")을 정확하게 작성하면 내 pymongo 쿼리가 매력처럼 작동합니다. 그러나 datetime 함수의 동적 성이 필요하지만 유감스럽게도 쿼리에 필요한 큰 따옴표로 묶인 날짜 문자열과 일치하지 않습니다.

해결 방법을 아는 사람이 있습니까? 나는 이미 대체 함수 등을 시도했다. 이것은 작은 따옴표 안에 큰 따옴표를 만들거나 아무 것도하지 않는다.

답변

0

MongoDB 문서가 잘못 삽입 된 것처럼 들리지만 BSON datetimes 대신 날짜 필드에 텍스트를 사용하는 것 같습니다.

PyMongo 자동 파이썬 날짜 시간 및 BSON의 날짜 시간으로 변환합니다, 그래서 당신은 이런 BSON의 날짜가 포함 된 문서에 삽입 할 수 있습니다 :

# There is a document with myDate in the past, now. 
print(collection.find_one({'myDate': {'$lt': datetime.datetime.utcnow()}})) 
# No document with myDate in the future. 
print(collection.find_one({'myDate': {'$gt': datetime.datetime.utcnow()}})) 
+0

:

dt = datetime.datetime.utcnow() collection.insert_one({'myDate': dt}) 

날짜 비교 그래서 지금처럼 작동 증명을 Thanks A. Jesse, 아직 솔루션을 사용해 보지 못했지만 이미 효과가 있다는 것을 느낄 수 있습니다. 많은 감사합니다 !! – Gamelogic