Reputation: 71
I am working on a dataset where a field is stored as either string(%Y-%m-%d) or datetime(ISODate Format ex- 2020-05-16T00:00:00.000+00:00). While fetching the same on Python and using $gte/$lte the string type values are getting excluded from the match.
I have tried converting the field to datetime using $dateFromString but since there are values in datetime format, the following error is thrown: $dateFromString requires that 'dateString' be a string, found: date with value 2019-05-31T00:00:00.000Z
Similarly trying to use $dateToString also throws a similar error because of values stored as string in the same field: can't convert from BSON type string to Date.
Also using $toDate throws the following error, which I have no clue about: Error parsing date string 'Invalid date'; 0: passing a time zone identifier as part of the string is not allowed 'I'; 8: Double timezone specification 'd'; 6: Double timezone specification 'd'.
Can anyone suggest a solution as I can't seem to find anything to handle this particular issue?
Upvotes: 1
Views: 2202