python bson.errors.InvalidDocument: Cannot encode object: datetime.date(2015, 3, 1) -
i have following functions:
# in module called 'dbw_lib' def datetimeouput(start_days_back, end_days_back): start_delta = datetime.timedelta(days=start_days_back) end_delta = datetime.timedelta(days=end_days_back) start_date = datetime.date.today() - start_delta end_date = datetime.date.today() - end_delta return start_date, end_date def dictbydate(start_days, end_days): start_date, end_date = dbw_lib.datetimeouput(start_days, end_days) date_string = { "created_at": {"$gte" : start_date, "$lt": end_date } } user_id_email_dict = dbw_lib.dbwidtoemaild(user_coll_obj, date_query = date_string) # dict of user ids , emails print user_id_email_dict quit() when run key_dicts = dictbydate(90, 60), i'm getting following traceback:
traceback (most recent call last): file "main.py", line 212, in <module> program.runprogram() file "main.py", line 61, in runprogram report.rcreatereport() file "filepath/report.py", line 86, in rcreatereport key_dicts = dictbydate(90, 60) file "filepath/report.py", line 65, in dictbydate user_id_email_dict = dbw_lib.dbwidtoemaild(user_coll_obj, date_query = date_string) # dict of user ids , emails file "filepath/dbw_lib.py", line 50, in dbwidtoemaild pair in id_email_cursor: file "/library/python/2.7/site-packages/pymongo-3.0-py2.7-macosx-10.9-intel.egg/pymongo/cursor.py", line 968, in __next__ file "/library/python/2.7/site-packages/pymongo-3.0-py2.7-macosx-10.9-intel.egg/pymongo/cursor.py", line 905, in _refresh file "/library/python/2.7/site-packages/pymongo-3.0-py2.7-macosx-10.9-intel.egg/pymongo/cursor.py", line 812, in __send_message file "/library/python/2.7/site-packages/pymongo-3.0-py2.7-macosx-10.9-intel.egg/pymongo/mongo_client.py", line 732, in _send_message_with_response file "/library/python/2.7/site-packages/pymongo-3.0-py2.7-macosx-10.9-intel.egg/pymongo/mongo_client.py", line 743, in _reset_on_error file "/library/python/2.7/site-packages/pymongo-3.0-py2.7-macosx-10.9-intel.egg/pymongo/server.py", line 85, in send_message_with_response file "/library/python/2.7/site-packages/pymongo-3.0-py2.7-macosx-10.9-intel.egg/pymongo/message.py", line 107, in get_message bson.errors.invaliddocument: cannot encode object: datetime.date(2015, 3, 1)
just replace
datetime.date.today() with
datetime.datetime.today()
Comments
Post a Comment