2017-03-29 12 views
0

私は基本的に正常に動作している、これを持っている:上記流星群コレクションのデータベースを変更するには?

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

CompanyDbは以下のように定義されています。しかし

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

、私は流星のユーザーコレクション用のドライバをどのように変化しますか。私はこの試みた:

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

をしかし、それは、予想される「エラー: 『ユーザー』という名前のコレクションが既に存在である」与えますエラーを。

私はこれが奇妙なユースケースのように思えますが、私のアプリケーションでサブドメインが変更されると 'companyDb'が変化します。だから私は基本的にサブドメインごとに別々のmongoデータベースを必要とする

+0

をお試しくださいこれは実際に。おそらく愚かな質問ですが、 'users'コレクションがそのデータベースに存在するかどうかチェックしましたか? – jordanwillis

答えて

0

私はあなたができることさえ知らなかったこの

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ダンcrescimano https://forums.meteor.com/t/remote-database-has-the-same-collection-name/7157/3

+0

忘れてしまったパスワードなどで実装するという使命は少しありますが、これは今のところ唯一の解決策のように思えます。代わりにアカウントパッケージをフォークできますか?終わったらここにリンクを張ります –

関連する問題