Апостроф Карта сайта Конфигурация базы данных - PullRequest
0 голосов
/ 24 сентября 2018

Я реализовал модуль apostrophe-site-map, и карта сайта xmls генерируется в соответствии с локалью.Ниже приведена конфигурация моего модуля

'apostrophe-site-map': {
    // array of doc types you do NOT want
    // to include, even though they are
    // accessible on the site.
    excludeTypes: [],
    perLocale: true,
    piecesPerBatch: 100
}

Я сохранил 2 сценария в package.json следующим образом:

"generate-site-map": "node src/app apostrophe-site-map:map --indent --file",
"update-site-map-cache": "node src/app apostrophe-site-map:map --update-cache"

Так что я могу сгенерировать xmls карты сайта для каждой локали, используя скрипт generate-site-map и я хотел попробовать часть кэширования, поэтому я также сохранил update-site-map-cache.

Теперь на нашем демонстрационном сервере мы получаем ошибку соединения MongoDB для второй команды (обновление кэша) .Ошибка:

MongoError: failed to connect to server [127.0.0.1:27017] on first connect [MongoError: connect ECONNREFUSED 127.0.0.1:27017] at Pool.<anonymous>

Таким образом, в основном он пытается найти локальную службу MongoDB при обновлении кэша.На нашем сервере нет локальной настройки MongoDB, так как все это в MongoDB Atlas.

Мои вопросы таковы: есть ли способ указать хост базы данных в конфигурации для apostrophe-site-карта

1 Ответ

0 голосов
/ 28 сентября 2018

apostrophe-site-map не создает свое собственное соединение с базой данных.Он использует методы уровня модели, предоставленные Apostrophe, и, таким образом, повторно использует стандартный.

Итак, ваш вопрос на самом деле: «Почему моя задача командной строки не обращается к нужной базе данных?»

И ответ «потому что вы не устанавливаете ту же переменную окружения APOS_MONGODB_URI при запуске задачи, которую вы задали при запуске реального сайта».Также возможно, что вы используете файл data/local.js для переопределения и установки URI для MongoDB, но решение остается тем же: быть согласованным между средой, в которой работает сайт, и средой, в которой выполняется задача.

...