【问题标题】:How to change the database for the meteor users collection?如何更改流星用户集合的数据库?
【发布时间】:2017-08-22 21:00:33
【问题描述】:

我基本上有这个,它工作正常:

Ideas = new Mongo.Collection('ideas', {_driver: companyDb});

上面的CompanyDb定义为:

companyDbString = 'mongodb://127.0.0.1:27017/demo';
companyDb = new MongoInternals.RemoteCollectionDriver(companyDbString);

但是,我将如何更改 Meteor 用户集合的驱动程序。我试过这个:

Meteor.users = new Mongo.Collection('users', {_driver: companyDb});

但它给出了预期的“错误:已经存在一个名为“用户”的集合”错误。

我知道这听起来像是一个奇怪的用例,但“companyDb”会随着我的应用程序中子域的变化而变化。所以我基本上每个子域都需要一个单独的 mongo 数据库

【问题讨论】:

  • 我什至不知道您实际上可以这样做。也许是一个愚蠢的问题,但是您是否检查过该数据库中是否存在 users 集合?

标签: meteor meteor-accounts


【解决方案1】:

试试这个

AnotherUsersCollection = new Mongo.Collection(“users”, { _driver: companyDb });

var remote = 'mongoURL';
database = new MongoInternals.RemoteCollectionDriver(remote);

You can perform database operations with your database object, like so.

database.mongo.findOne('users', "selector_object")

An example might be

database.mongo.findOne('users', {emails : {$elemMatch : {address : "email_string"} } } )

courtsey Dan crescimano https://forums.meteor.com/t/remote-database-has-the-same-collection-name/7157/3

【讨论】:

  • 是的,这似乎是目前唯一的解决方案,尽管在忘记密码等方面实施有点任务。我要看看我是否可以分叉帐户包以允许这样做反而。完成后会在此处发布链接
猜你喜欢
  • 2017-01-29
  • 2023-03-30
  • 2017-07-05
  • 1970-01-01
  • 2016-07-17
  • 2018-05-18
  • 1970-01-01
  • 2013-01-02
  • 1970-01-01
相关资源
最近更新 更多