2016-12-09 1 views
0

Я попытался подключить и аутентифицировать mongodb через robotframework. последовали следующие шаги:Ошибка аутентификации MongoDB в robotframework

Connect To MondoDB | mongodb://admin:[email protected] | 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:[email protected] | 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 

Я сидел с моей analysit базы данных MongoDB и отлажен, мы познаем, что, во-первых он пытался подключиться к adminDB с учетными данными пользователей данных и в момент запроса он подключен к фактическому дБ.

здесь, в нашей системе учетные данные для admin db и system db различны, поэтому она не удалась.

наш аналитик db подтвердил, что они не позволят подключиться к admin db, поскольку у него будут все разрешения.

Может ли кто-нибудь мне помочь, как подключиться и запросить у mongodb, который не подключится к admin db.

Благодаря Sarada

ответ

1

Большинство водителей поддерживает один и тот же стиль строки подключения, так что вы должны иметь возможность добавить следующий запрос вещь к текущей строке соединения:

mongodb://username:[email protected]/database?authSource=authDatabase

Престола

+0

привет Кевином, я пытался, как 'mongodb: //172.20.33.226/clmpreprod? authSource = clmpreprod;' но где указать имя пользователя и пароль? нет отдельного способа подключения к db и аутентификации, он дает ошибку при запросе как «perationFailure: ошибка базы данных: не авторизовано для запроса на clmpreprod.Profile» –

+1

Вам нужно просто добавить это в URI, я обновил ответ –

+0

Спасибо kevin, 'https: // mongodb.github.io/node-mongodb-native/driver-articles/mongoclient.html # auth-options' ur помог мне –

0

следует упомянуть DBName также во время подключения

Connect To MondoDB | mongodb://admin:[email protected]/userDB | 27017 | 10 | None | <type 'dict'> | False 

Retrieve Mongodb Records With Desired Fields  dbName | dbCollName | recordJSON | fields | return__id=True | returnDocuments=False 

Это будет работать

Спасибо Кевину за помощь

 Смежные вопросы

  • Нет связанных вопросов^_^