2014-01-21 179 views
0

我試圖用燒瓶MongoKit如下(與兩個企圖find_one失敗):燒瓶MongoKit find_one()

app = Flask('app-name') 

db = MongoKit(app) 

db.register([database.Users]) 

with app.app_context(): 
    print db['users'].find_one() 
    print db.Users.find_one() 

當我使用純MongoKit(非瓶版本),這工作(如下)

db = Connection() 

db.register([database.Users]) 
print db.Users.find_one() 

謝謝!

編輯:

數據庫和集合的定義如下。

class Users(Document): 
    __collection__ = 'users' 
    __database__ = 'database' 
+0

你說的「失敗」是什麼意思?你有錯誤嗎?你能分享回溯嗎? – dirn

+0

它返回沒有爲第一示例中,和用於第二實施例的實際結果。 – Jacob

+0

你確定你連接到同一個數據庫? 'database'從哪裏來?這是你正在導入的某個模塊嗎? – dirn

回答

0

Flask-MongoKit不使用MongoKit的__database__值。而是使用名爲MONGODB_DATABASE的應用程序配置設置。如果未設置,則默認爲名爲flask的數據庫。如果您將代碼更改爲

app = Flask('app-name') 
app.config['MONGODB_DATABASE'] = 'database' 
db = MongoKit(app) 

您的電話find_one()應該可以工作。

的相對位可以發現herehere和。