2016-05-12 3 views
2

Я настроил MongoDB для Sitecore, используя набор реплик. Я установил контроль доступа к ключам и добавил пользователя. Но я сталкиваюсь с проблемами при создании строк подключения.Как отформатировать строку подключения для реплики MongoDB в Sitecore?

Давайте предположим, что моя реплика набор имя rsHelloWorld с несколькими mongod случаях: localhost:21017,localhost:21018,localhost:21019,localhost:21020,localhost:21021(arbitor)

username: mongo_admin 
password: [email protected] 

Строка соединения по умолчанию в Sitecore является:

<add name="analytics" connectionString="mongodb://localhost/analytics" /> 

Как указать строку соединения для моей базы данных MongoDB с набором реплик и аутентификацией?

ответ

4

Sitecore xDB использует стандартный MongoDB connection string format.

В указанном примере, строка подключения будет следующим образом:

mongodb://mongo_admin:test%[email protected]:21017,localhost:21018,localhost:21019,localhost:21020,localhost:21021/?replicaSet=rsHelloWorld 

Обратите внимание, что я заменил @ символ в пароле с %40. Это связано с тем, что @ в строке соединения является разделителем между учетными данными и именами хостов. See more here.

Также имейте в виду, что у вас нет , чтобы указать все ваши серверы в строке подключения. Вам нужно указать хотя бы один, и после подключения к нему xDB получит полную информацию о наборе реплик, включая адреса всех узлов, несущих данные. Тем не менее, лучше всего включить несколько серверов, чтобы гарантировать, что если один из них опустится, приложение все равно найдет сервер для подключения. В вашем случае, в том числе арбитр, не имеет большого смысла, поскольку xDB (или любой другой клиент MongoDB) никогда не свяжется с ним.