在Meteor(服务器端),是否可以创建多个数据库的集合?
让我们说我想要连接到两个不同的数据库并将它们的集合装载在流星中。我关注的是两个数据库中具有相同名称的集合(例如"用户")。
有没有办法让2个名为"用户"但是来自2个不同的数据库(连接)?
谢谢!
修改
另一个问题没有解决我的主要问题:如果我想挂载(连接)两个名为" users" (例如)来自2个不同的数据库。
流星说:
错误:名为' / users / insert'的方法已定义
答案 0 :(得分:2)
我重新打开了这个问题,但没有简单的答案。 mongo驱动程序假定每个集合有一个连接。顺便说一句,这是一个合理的假设 - 如果你写了一个DB,哪个DB会被更新?
以下是一些可以解决此限制而无需实现自己的驱动程序的方法:
声明多个集合(Users1
和Users2
),其中每个集合都可以访问其中一个数据库实例。从技术上讲,这样可以正常工作,但在您的代码中可能并不容易。
使用外部进程定期将一个集合的内容从db1复制到db2。这允许您使用单个集合,但如果从外部应用程序编写某些文档,则可能会变得复杂。
仅使用methods访问数据,而不是将其发布到客户端。您失去了在客户端上具有集合语义的能力,但您可以直接控制数据库的使用方式。另请参阅this question的答案,了解有关如何直接使用RemoteCollectionDriver
实例的一些示例。