たとえば、私は両方とも異なるデータベースに属している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によって作成された接続でスキーマを登録すると、同じリストに登録されません。成功への道があれば? User
がRoomsContainer
がデータベース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
});
:
私はこの[例](https://github.com/Automattic/mongoose/issues/3639#issuecomment-161785989)をMongooseのgithubページで見つけました。あるデータベースのモデルを別のデータベースのデータから読み込む方法を示します。 –
このサンプルは動作しています。 –
私はすべてのスキーマを異なるファイルに保存していますが、例のように接続していますが、このエラーが発生します。 –