Use {'$nin': [None, '']}
:
col.insert({})
col.insert({'test_field': None})
col.insert({'test_field': ''})
col.insert({'test_field': 'value'})
list(col.find({'test_field': {'$exists': True}}))
[{u'_id': ObjectId('5b293fa7b5b55217c9afe7d0'), u'test_field': None},
{u'_id': ObjectId('5b293fb1b5b55217c9afe7d2'), u'test_field': u''},
{u'_id': ObjectId('5b293fb6b5b55217c9afe7d3'), u'test_field': u'value'}]
list(col.find({'test_field': {'$ne': None}}))
[{u'_id': ObjectId('5b293fb1b5b55217c9afe7d2'), u'test_field': u''},
{u'_id': ObjectId('5b293fb6b5b55217c9afe7d3'), u'test_field': u'value'}]
list(col.find({'test_field': {'$nin': [None, '']}}))
[{u'_id': ObjectId('5b293fb6b5b55217c9afe7d3'), u'test_field': u'value'}]