在流星(服务器端),是否可以创建多个数据库的集合?流星 - 连接多个数据库的集合
假设我想连接两个不同的数据库并将它们的集合挂载在流星中。我关心的是两个数据库中同名的集合(例如“用户”)。
有没有办法让2个集合名为“用户”,但来自2个不同的数据库(连接)?
谢谢!
编辑:
另一个问题并没有解决我的主要问题:如果我想安装(连接)两个集合命名的2级不同的数据库“用户”(例如)。
流星说:
错误:名为“/用户/插入”的方法已经被定义
在流星(服务器端),是否可以创建多个数据库的集合?流星 - 连接多个数据库的集合
假设我想连接两个不同的数据库并将它们的集合挂载在流星中。我关心的是两个数据库中同名的集合(例如“用户”)。
有没有办法让2个集合名为“用户”,但来自2个不同的数据库(连接)?
谢谢!
编辑:
另一个问题并没有解决我的主要问题:如果我想安装(连接)两个集合命名的2级不同的数据库“用户”(例如)。
流星说:
错误:名为“/用户/插入”的方法已经被定义
我重新打开的问题,但没有简单的答案。 mongo驱动程序假设每个集合有一个连接。顺便说一下,这是一个合理的假设 - 如果你写了一个数据库,哪个数据库会被更新?
这里有一些方法,你可以解决这一限制没有实现自己的驱动程序:
声明多个集合(Users1
和Users2
),其中每个集合可以访问数据库实例之一。从技术上讲,这将工作得很好,但在你的代码中可能并不容易。
使用外部进程将一个集合的内容从db1定期复制到db2。这使您可以使用单个集合,但如果某些文档是从外部应用程序写入的,则可能会变得复杂。
只能使用methods来访问数据,而不是将其发布到客户端。您失去了在客户端上拥有集合语义的能力,但您可以直接控制数据库的使用方式。有关如何直接使用RemoteCollectionDriver
的实例的一些示例,请参阅this question的答案。
嗨,谢谢你。我们实际上使用了解决方案3.我们使用方法并根据需要从任何连接/数据库中提取数据。 – Radko
很酷。我很高兴你有工作。 :) –
应该可以在Meteor创建Collection实例时提供连接。尽管如此,发布可能会非常棘手。 – MasterAM
@Radko我相信每个集合只能使用一个数据库 - 所以在多个数据库中拥有相同集合的情况下,您需要选择要连接的数据库。 –
@David Weldon谢谢,但是没有办法破解它吗? – Radko