【问题标题】:Meteor dynamic mongodb based on user基于用户的流星动态mongodb
【发布时间】:2026-01-17 14:50:01
【问题描述】:

我开发了一个多租户应用程序,其中每个租户都有自己的 mongo db。 所有租户共享相同的 UI。

我应该为所有用户帐户设置一个 mongo db,每个 mongo db 用于数据。

我是流星新手,我想知道在发布集合时如何动态选择数据库。

    export const collects = new MongoObservable.Collection('collectionname',{
    connection:DDP.connect('urltomongodb')

});

请帮忙

【问题讨论】:

  • 我不相信您可以轻松做到这一点,但您应该能够动态选择您的收藏。这会有帮助吗?
  • 您有没有找到任何答案 - 与此相关的解决方案?

标签: mongodb meteor


【解决方案1】:

据我所知,DDP 实用程序适用于希望从非 Meteor 平台(前端或服务器)连接到 Meteor 服务器的人。

当然,没有什么可以阻止您使用 DDP.connect() 连接到另一台服务器,但是您还需要管理该连接,以及在它变得不可用时进行的任何重试等。

我建议一种更简单的方法是在一个数据库中管理所有数据 - 尝试将它们分开变得不简单,因为它正在做 Meteor 通常不会做的事情。如果您相应地构建数据,将所有数据保存在一个数据库中应该是非常可行的

【讨论】:

  • 我有几乎相同的问题/问题,并且强制多租户应用程序到一个数据库并不是诚实的解决方案,特别是如果您的数据库很容易增长到 50 GB
  • 也许您的解决方案是将数据作为 REST API 提供,或者您可以使用类似这样的东西:github.com/peerlibrary/meteor-directcollection(我自己没有尝试过)