我目前使用env变量为我的meteor app分配一个mongodb 当我启动流星实例时,“MONGO_URL”:“mongodb:// localhost:27017 / dbName”。
因此所有数据都被写入名为“dbName”的mongo数据库。 我正在寻找一种方法来登录时为每个客户单独设置dbName,以便将他们的数据分成不同的数据库。
答案 0 :(得分:1)
这通常不受支持,因为这是在启动时定义的。但是,这个主题提供了一个可能的解决方案:
https://forums.meteor.com/t/switch-database-while-meteor-is-running/4361/6
var database = new MongoInternals.RemoteCollectionDriver("<mongo url>");
MyCollection = new Mongo.Collection("collection_name", { _driver: database });
这将允许您在mongo url中定义数据库名称,但需要相当多的额外工作来逐个客户重新定义您的集合。
答案 1 :(得分:0)
这是另一种让您的生活更轻松的方法:
nginx可能会帮助您解决上述问题。
在提供B2B时,通常会运行单独的DB 溶液
这是一个很大程度上取决于平台的意见问题。许多SaaS提供商会争论这一点。