2013-08-29 33 views
4

我剛剛安裝了'eve demo',我無法讓它開始工作。將Eve REST API連接到MongoDB實例的ConnectionException

的錯誤是:

eve.io.base.ConnectionException:初始化錯誤的驅動程序。確保數據庫服務器正在運行。驅動程序例外:OperationFailure(u「command SON([('authenticate',1),('user',u'user'),('nonce',u'cec66353cb35b6f5'),('key',u'14817e596653376514b76248055e1d4f' )])失敗:驗證失敗「,)

我有mongoDB運行,並且我已經安裝了Eve和Python2.7。

我創建了run.pysettings.py需要。

什麼不起作用?我錯過了什麼嗎?

回答

6

看起來您在settings.py中配置的MongoDB用戶/ pw組合未在db級別設置。從mongo shell類型use <dbname>,然後db.system.users.find()獲得授權用戶列表<dbname>。它可能是空的;根據需要添加用戶(請參閱MongoDB docs)。

4
  1. 讓您的MongoDB的DBNAME,用戶名和密碼setting.py,如:與蒙戈的mongod服務器

    MONGO_USERNAME = 'username' 
    
    MONGO_PASSWORD = 'password' 
    
    MONGO_DBNAME = 'apitest' 
    
  2. 登錄,並確保您的用戶名dbname中的system.user collection.you可以查詢認證用戶在該數據庫具有以下操作:

    use apitest 
    
    db.system.users.find() 
    
  3. 如果用戶名不存在system.users,那麼你可以使用db.addUser命令添加用戶system.users collection.eg:

    use apitest 
    
    db.addUser{'username','password'} 
    
+0

謝謝,但我不會對此進行測試。這是否發生在你身上? –

+0

@FranciscoCorrales是的,這個問題發生在我身上,我用上面的步驟解決它。也感謝Nicola Iarocci。 – KevinQiang

+3

很好的答案。只有一個問題。它應該是:db.addUser('username','password')...使用{...}將不起作用。 – Joe