首页 > 解决方案 > 如何将第二个数据库添加到同一连接(撇号 CMS 多站点)

问题描述

在 的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未定义。

解决此问题的最佳方法是什么?

编辑看起来问题是依赖关系mongodbemulate-mongo-2-driver

所以要解决这个问题,我需要 fork multisite。能够配置我们是否要使用 emulate 驱动程序会很好multisite,因为我没有使用 v2 驱动程序,现在它让我的整个应用程序停止运行。

标签: apostrophe-cms

解决方案


这在最近的版本中得到了解决emulate-mongo-2-driver,因此您的原始代码可以使用npm update. 但是,不建议覆盖apos.db.db,因为如果您想获得对第三个数据库的引用,您将来需要它仍然是一种方法。而是创建一个具有适合您的应用程序的有意义名称的新属性。


推荐阅读