使用pymongo我試圖檢索具有與null
不同的SmallUrl
集合中的文檔。我正在嘗試獲取密鑰names
和密鑰SmallUrl
。在MongoDB中查詢空值
如果我只查找Name
,查詢運行良好。但是,由於我想從結果中篩選出null
值爲SmallUrl
的文檔,因此當我在查詢中包含此值時,查詢將不返回任何內容。
這是MongoDB的結構:
{u'Images': {u'LargeUrl': u'http://somelink.com/images/7960/53.jpg',
u'SmallUrl': u'http://somelink.com/images/7960/41.jpg'}
u'Name': u'Some Name',
u'_id': ObjectId('512b90f157dd5920ee87049e')}
{u'Images': {u'LargeUrl': u'http://somelink.com/images/8001/53.jpg',
u'SmallUrl': null}
u'Name': u'Some Name Variation',
u'_id': ObjectId('512b90f157dd5820ee87781e')}
這是查詢功能:我是新來的MongoDB我嘗試不同的查詢已經
def search_title(search_title):
$ne
''' Returns a tuple with cursor (results) and the size of the cursor'''
query = {'Name': {'$regex': search_title, '$options': 'i'}, 'SmallUrl': {'$exists': True}}
projection = {'Name': 1, 'Images': 1}
try:
results = movies.find(query, projection)
except:
print "Unexpected error: ", sys.exc_info()[0]
$ne
return results, results.count()
。我已經使用$and
,$not
,{'$ne': 'null'}
}。我也在mongoShell中運行了查詢,但結果相同。這是我在shell中查詢的一個例子:
db.myCollection.find({'Name': {'$regex': 'luis', '$options': 'i'}, 'SmallUrl': {'$ne': null}})
我想知道我在做什麼錯誤。
沒有使用Python中的地方空 – hamed 2016-10-18 11:48:51