【问题标题】:Separate DB for Meteor.users in Meteor AppMeteor App 中 Meteor.users 的单独数据库
【发布时间】:2013-02-26 13:43:21
【问题描述】:

我有一个 Meteor 应用程序,我想知道是否有一种方法可以将应用程序配置为对用户使用一个 Mongo 数据库,并为其余应用程序数据使用不同的数据库。这里的目标是最终让多个应用程序共享相同的用户帐户数据库,但每个应用程序都有自己独特的应用程序数据库。 Meteor 可以做到这一点吗?

【问题讨论】:

  • 如果您使用像 MongoHQ 这样的提供商或您自己的基础设施,设置相同的端口应该可以工作
  • 对不起,我不明白它是如何工作的。你的意思是有办法将 Meteor 配置为使用某些端口来进行某些集合吗?
  • 对不起,我误解了你的问题。我告诉你的基本上是为所有应用程序访问同一个 Mongo 实例,但这不会满足你拥有唯一应用程序数据库的目的。不过,您应该尝试以下答案。

标签: meteor


【解决方案1】:

您可以在您的流星服务器上使用mongodb driver。您可以使用Meteor.call 访问客户端上的数据。虽然我从未尝试过它应该可以工作。这也是一个查看meteor's new npm system 的好机会。

服务器js

var require = __meteor_bootstrap.require;
var mongo = require('mongodb');
var Server = mongo.Server, Db = mongo.Db, BSON = mongo.BSONPure;
var client = new Db('test', new Server("127.0.0.1", 27017, {}), {w: 1})
...

除非您编写自己的方法来检查数据库,否则您不会有反应性。

【讨论】:

  • 好的,所以基本上,我必须进行设置,然后将此设置用于我所有特定于应用程序的非用户集合,对吧?然后仍然允许流星处理所有用户数据。这就是你的意思吗?
【解决方案2】:

你试过 Meteor.connect() 吗?它允许您连接到外部 Meteor 应用程序的数据库。

http://docs.meteor.com/#meteor_connect

编辑:我从来没有为用户尝试过它(我猜这个 Collection 与“普通”集合有所不同),但我想它应该可以工作。

【讨论】:

    【解决方案3】:

    虽然我很欣赏这个问题的精彩答案,但目前无法在 Meteor 中完成(截至 0.5.9)。当然,可以修改源代码来实现这样的事情,但我使用 Meteor 是为了避免自己编写所有样板管道代码。希望将来会添加此选项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多