apostrophe-cms - 如何将第二个数据库添加到同一连接(撇号 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
未定义。
解决此问题的最佳方法是什么?
编辑看起来问题是依赖关系mongodb
从emulate-mongo-2-driver
所以要解决这个问题,我需要 fork multisite
。能够配置我们是否要使用 emulate 驱动程序会很好multisite
,因为我没有使用 v2 驱动程序,现在它让我的整个应用程序停止运行。
解决方案
这在最近的版本中得到了解决emulate-mongo-2-driver
,因此您的原始代码可以使用npm update
. 但是,不建议覆盖apos.db.db
,因为如果您想获得对第三个数据库的引用,您将来需要它仍然是一种方法。而是创建一个具有适合您的应用程序的有意义名称的新属性。
推荐阅读
- bash - Git别名配置需要多少轮转义?
- kubernetes - 为什么 GKE 私有集群的出站访问不明确?
- javascript - 提交表单操作
- windows - 双击系统菜单不再关闭 VS Code (Windows)
- python - 正则表达式:如何将 re.sub 与可变数量的元素一起使用?
- docker - 如何从 Windows Docker 容器中的主机网络读取文件
- javascript - Vuetify Combobox 不返回 id 而不是值
- java - Hibernate 实体抽象
- c++ - AsyncCallback 的 C++ 用法
- dialogflow-es - 在 dialogflow webhook 请求中获取设备位置为空