Those records are a representation of the BSON documents in the shell. The ISODate(...) field values indicate those values are of date type. To correctly query for them using Pymongo you need to use Python's date types (datetime module), which the driver will handle converting into BSON date types. Below, I've included a complete example of inserting and querying for similar documents in Python:
import pymongo
import datetime
mc = pymongo.MongoClient() # assuming server on localhost:27017
test = mc.test.test
test.drop()
doc0 = { "VERSION" : None, "CREATE_DATE" : datetime.datetime(2015, 1, 1) }
doc1 = { "VERSION" : None, "CREATE_DATE" : datetime.datetime(2015, 1, 29) }
test.insert(doc1)
test.insert(doc2)
cursor = test.find({ "CREATE_DATE" : { "$gt" : datetime.datetime(2015, 1, 15) } })
for res in cursor:
print(res)
# 1 result
# {u'VERSION': None, u'_id': ObjectId('54ca5611461a2e7f65db7530'), u'CREATE_DATE': datetime.datetime(2015, 1, 29, 0, 0)}
If you go into the mongo shell and use db.test.find() to see the two document in the test.test namespace, you will get
> db.test.find()
{ "_id" : ObjectId("54ca560d461a2e7f65db752f"), "VERSION" : null, "CREATE_DATE" : ISODate("2015-01-01T00:00:00Z") }
{ "_id" : ObjectId("54ca5611461a2e7f65db7530"), "VERSION" : null, "CREATE_DATE" : ISODate("2015-01-29T00:00:00Z") }
-Will