在Heroku工作,我可以在Mongodb / mongolab(mlab)分享一个系列吗?

时间:2016-07-01 18:44:31

标签: mongodb heroku mongoose mlab

在Heroku中,我有2个应用程序。一个客户端应用程序(使用coffeescript和mongoose)和一个管理应用程序(使用javascript和mongoskin)。

我想在这两个应用中共享一个集合,但无法找到如何。我不知道“分片集”是否是我应该研究分享集合的路线?...我想帮助找出一种方法来分享2个数据库和2个不同的heroku应用程序之间的集合,或者如果它是可能的。

我在共享数据库时找到了一些链接,但我想只共享数据库中的集合。以下是我发现的一些链接,但由于它处理Meteor应用程序而不是Heroku,因此未正确测试: How can I share MongoDB collections between Meteor apps?DDP between two servers doesn't reconnectConnect two Meteor applications using DDP

1 个答案:

答案 0 :(得分:0)

在2个Heroku应用程序中,其中一个是您希望共享的集合的数据库的“所有者”,并且已经预先配置了数据库加载项的MONGODB_URI连接字符串。您需要使用包含您要共享的集合的数据库的连接字符串手动配置第二个Heroku应用程序:

https://devcenter.heroku.com/articles/mongolab#connecting-to-existing-mlab-deployments-from-heroku

请注意,此设置将共享2个加载项之间的整个数据库。如果您需要将其限制为仅一个集合,则需要为第二个Heroku应用程序创建一个数据库用户,该应用程序只能访问相关集合。

http://docs.mlab.com/connecting/#users

https://docs.mongodb.com/v3.0/core/security-user-defined-roles/

用户定义的角色管理员需要通过像mongo shell这样的客户端来完成 - mLab的UI不支持它们。