我试图通过robotframework连接和验证mongodb。遵循以下步骤:
Connect To MondoDB | mongodb://admin:admin@192.20.33.226 | 27017 | 10 | None | <type 'dict'> | False |成功地连接在一起。
试图从数据库中查询
Retrieve Mongodb Records With Desired Fields dbName | dbCollName | recordJSON | fields | return__id=True | returnDocuments=False 执行此语句后,我得到以下错误。
OperationFailure: Authentication failed.日志:
Starting test: MongoConnection.Query from MongoDB
20161209 17:05:05.866 : INFO :
| Connect To MondoDB | dbHost | dbPort | dbMaxPoolSize | dbNetworktimeout | dbDocClass | dbTZAware |
| Connect To MondoDB | mongodb://tecnotree:tecnotree@172.20.33.226 | 27017 | 10 | None | <type 'dict'> | False |
20161209 17:05:05.907 : INFO : | ${allResults} | retreive_mongodb_records_with_desired_fields | clmpreprod | Profile | { "profileDetails.basicDetails.customerCode": "C014519" } | profileDetails.customerCategory.masterCode,profileDetails.customerSubCategory.masterCode | False |
20161209 17:05:05.910 : FAIL : OperationFailure: Authentication failed.
Ending test: MongoConnection.Query from MongoDB我对我的MongoDB数据库进行了分析和调试,我们了解到,首先它试图用给定的用户凭据连接到adminDB,在查询时连接到实际的db。
在这里,在我们的系统凭据中,admin db和system db是不同的,这就是它失败的原因。
我们的db分析师证实,他们将不允许连接到admin db,因为它将拥有所有权限。
谁能帮我,如何连接和查询从mongodb将不会连接到管理数据库。
谢谢萨拉达
发布于 2016-12-09 13:10:49
您还应该在连接时提到dbname
Connect To MondoDB | mongodb://admin:admin@192.20.33.216/userDB | 27017 | 10 | None | <type 'dict'> | False
Retrieve Mongodb Records With Desired Fields dbName | dbCollName | recordJSON | fields | return__id=True | returnDocuments=False这会起作用的
谢谢凯文的帮助
https://stackoverflow.com/questions/41059686
复制相似问题