Как добавить вторую базу данных к тому же соединению (Apostrophe CMS Multisite) - PullRequest
0 голосов
/ 09 марта 2020

В методе construct apostrophe-pages/index.js, который я до сих пор использовал:

self.apos.db.db = options.apos.db.db(process.env.THE_SECOND_DB);

Однако, похоже, что при обновлении до нескольких сайтов (или только CMS) это не больше возможно с тем же синтаксисом.

Глядя на emulate-mongo-2-driver, похоже, что newDb.db() ожидает, что client будет определено для следующего:

return decorateDb(client.db(name));

Однако, client не определено.

Как лучше всего решить эту проблему?

РЕДАКТИРОВАТЬ Похоже, проблема заключалась в изменении зависимости с mongodb на emulate-mongo-2-driver

Так что для решения этой проблемы мне нужно форк multisite. Было бы неплохо иметь возможность настроить, хотим ли мы использовать драйвер эмуляции для multisite, поскольку я не использую драйвер v2, и сейчас у меня отключено все мое приложение.

1 Ответ

0 голосов
/ 27 марта 2020

Это было решено в недавнем выпуске emulate-mongo-2-driver, поэтому ваш оригинальный код будет работать с npm update. Однако не рекомендуется перезаписывать apos.db.db, так как вам понадобится, чтобы он все еще оставался методом в будущем, если вы хотите получить ссылку на третью базу данных. Вместо этого создайте новое свойство со значимым именем, подходящим для вашего приложения.

...