2016-05-03 10 views
0

我用python 3,mongodb和瓶子編碼。Pymongo find()通過篩選變量返回空

此代碼返回空文檔。我檢查了name這是正確的價值。

@bottle.route('/test1/<name>', method='GET') 
def test_detail(name): 
    result = dbcoll.find({"student": name}) 
    return template('detail',name=result) 

我修改爲硬編碼name,它可以正確顯示結果!

@bottle.route('/test1/<name>', method='GET') 
def test_detail(name): 
    name = "peter chan" 
    result = dbcoll.find({"student": name}) 
    return template('detail',name=result) 

回答

0

檢查你是否得到一些價值在裏面name功能,我的直覺是你在一個變量中獲得None

+0

感謝您的評論。我確實在'find()'之前放了'print(name)'並且它包含了值。就像我硬編碼一樣。 – user3562954

0

問題可能與名稱中的空間有關。通常,字符串是由網址編碼的,而空格字符則轉換爲「+」。你可能想要url-deencode並在db查詢中使用結果。