2016-05-03 13 views
0

空の戻り私のpython 3、MongoDBの瓶でそれをコーディングすることにより、()を見つけます。Pymongoは、フィルタ変数の

このコードでは、空のドキュメントを返します。私は正しく値である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エンコードされ、スペース文字は "+"に変換されます。あなたはそれをurl-deencodeし、dbクエリで結果を使用したいかもしれません。