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

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

Предположим, мое имя набора реплик rsHelloWorld с несколькими mongod экземпляры: localhost:21017,localhost:21018,localhost:21019,localhost:21020,localhost:21021(arbitor)

username: mongo_admin
password: test@123

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

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

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

1 ответ

Решение

Sitecore xDB использует стандартный формат строки подключения MongoDB.

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

mongodb://mongo_admin:test%40123@localhost:21017,localhost:21018,localhost:21019,localhost:21020,localhost:21021/?replicaSet=rsHelloWorld

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

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

Другие вопросы по тегам