ConnectionException将Eve REST API连接到MongoDB实例

时间:2013-08-29 20:14:53

标签: python api mongodb rest eve

我刚刚安装了'eve demo',我无法开始工作。

错误是:

  

eve.io.base.ConnectionException:初始化驱动程序时出错。确保数据库服务器正在运行。驱动程序异常:OperationFailure(u“命令SON([('authenticate',1),('user',u'user'),('nonce',u'cec66353cb35b6f5'),('key',u'14817e596653376514b76248055e1d4f' )])失败:auth失败“,)

我运行了mongoDB,并且已经安装了Eve和Python2.7。

我创建了run.pysettings.py

什么不起作用?我错过了什么吗?

2 个答案:

答案 0 :(得分:6)

您在settings.py中配置的MongoDB用户/ pw组合似乎尚未设置为数据库级别。从mongo shell类型use <dbname>,然后db.system.users.find()获取<dbname>的授权用户列表。它可能是空的;根据需要添加用户(请参阅MongoDB docs)。

答案 1 :(得分:4)

  1. 从setting.py获取您的mongodb的dbname,用户名和密码,例如:

    MONGO_USERNAME = 'username'
    
    MONGO_PASSWORD = 'password'
    
    MONGO_DBNAME = 'apitest'
    
  2. 使用mongo登录mongod服务器,并确保您在dbname的system.user集合中的用户名。您可以使用以下操作查询该数据库中的经过身份验证的用户:

    use apitest
    
    db.system.users.find()
    
  3. 如果system.users中不存在用户名,则可以使用db.addUser命令将用户添加到system.users collection.eg:

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