2016-05-01 10 views
2

たとえば、私は両方とも異なるデータベースに属しているSchemaAとSchemaBを持っています。スキーマ内で私はdoc.b = {type: mongoose.Schema.Types.ObjectId, ref: 'SchemaB'}を持っています。私はこれの人口過ごしているとき私はエラー以下になった。 MissingSchemaError: Schema hasn't been registered for model "SchemaB". Use mongoose.model(name, schema)私の研究から、私はそのマングースサポート人口のクロスデータベースを読んだことがあります。
私は各スキーマに複数回mongooseが必要ですが、それは問題ですか?
基本的に私は、異なるデータベースに接続して人口と一緒に作業する2つの異なるスキーマが必要です。 mongooseによって作成された接続でスキーマを登録すると、同じリストに登録されません。成功への道があれば? UserRoomsContainerがデータベース2に属し、データベース1とRoomに属しマングースは異なるデータベースのスキーマに移入します

User.findOne({ 
    _id: req.user._id 
}).populate({ 
    path: 'roomsContainer', 
    model: RoomsContainer, 
    populate: [{ 
     path: 'creator' 
    },{ 
     path: 'users' 
    },{ 
     path: 'rooms', 
     model: Room 
    }] 
}).exec(function(err, user) { 
    // do some magic 
}); 

+0

私はこの[例](https://github.com/Automattic/mongoose/issues/3639#issuecomment-161785989)をMongooseのgithubページで見つけました。あるデータベースのモデルを別のデータベースのデータから読み込む方法を示します。 –

+0

このサンプルは動作しています。 –

+0

私はすべてのスキーマを異なるファイルに保存していますが、例のように接続していますが、このエラーが発生します。 –

答えて

0

基本的に私たちは何をする必要があるかは、このような何か人口にパススキーマです。

関連する問題