【发布时间】:2018-10-10 21:03:23
【问题描述】:
如何使用 KeystoneJS 实现多租户?有可能吗?
示例用例:一家公司正在使用 KeystoneJS 创建一个新的博客平台,它希望允许多个博客站点使用来自一个 KeystoneJS 实例的相同模型,但每个博客作者应该只能控制自己的站点。
【问题讨论】:
-
您解决这个问题了吗?
标签: mongodb multi-tenant keystonejs
如何使用 KeystoneJS 实现多租户?有可能吗?
示例用例:一家公司正在使用 KeystoneJS 创建一个新的博客平台,它希望允许多个博客站点使用来自一个 KeystoneJS 实例的相同模型,但每个博客作者应该只能控制自己的站点。
【问题讨论】:
标签: mongodb multi-tenant keystonejs
Keystonejs 并不真正支持这一点。但是,您可以做的是将 Docker 之类的东西与 Keystonejs 网站的图像一起使用,然后添加一些配置来为每个实例提供不同的数据库路径。
【讨论】:
或者弹出多个节点服务器,像这样:
// Keystone 1
process.env.PORT=3000
// Keystone 2
process.env.PORT=3001
// ...
并启动一个 MongoDB 服务器,并为每个节点服务器/keystone 实例分配一个唯一的数据库名称,例如
// Keystone 1: .env
MONGO_URI=mongodb://localhost:27017/KT_1
// Keystone 2: .env
MONGO_URI=mongodb://localhost:27017/KT_2
更多信息,请查看Connection String URI Format[mongodb]
我喜欢只使用 docker 来启动 MongoDB 服务器并在本地运行 Keystone,因为 Docker 与 node.js 一起工作非常棘手。
【讨论】: