我想为我的项目拥有一个管理员应用程序和一个客户端应用程序。理想情况下,我希望能够拥有一个共享的MongoDB集合。我该如何实现这个目标?
我曾尝试在两个不同的应用程序中使用相同名称的集合,但发现Meteor会将数据分开存储。你有什么建议吗?谢谢。
我曾尝试在两个不同的应用程序中使用相同名称的集合,但发现Meteor会将数据分开存储。你有什么建议吗?谢谢。
export MONGO_URL=mongodb://localhost:3002/meteor
运行Meteor应用程序,它将更改Meteor使用的默认数据库。因此,共享数据库或集合不会成为问题!出于管理原因,我将使用自己管理的个人MongoDB服务器,而不是使用Meteor的内部MongoDB。
一个合理的问题,可能值得超过这个答案的讨论:
MongoDB连接是由Meteor应用程序进程处理的,这是Meteors的一部分哲学,旨在采用一种被描述为:一个数据源为其服务的应用程序属于它,但有许多客户端订阅它的方法。
考虑到这一点,在一个应用程序(即您的Meteor应用程序)中结合“管理”和“客户端”客户端可能是首选方式。
然而,从服务器管理的角度来看,连接是由Meteor以这种方式处理的,也就是说,总是存在默认的本地数据源,该数据源位于项目目录中(.meteor/local/db
,尝试使用meteor mongo --url
在meteor应用程序进程运行时获取mongo连接字符串)。但是,为了部署目的,仍然可以指定可选的数据源字符串,例如在这些部署说明中描述的内容。