私はアプリケーションモデルを定義しています。私が定義しているモデルごとに別々のファイルを用意しています。私の質問は、サブモデルを使用するモデルを作成する必要があります。 -document、それは別のファイルにありますが、私のモデルでそのスキーマを使用するにはどうすればいいですか?個別のファイルのマングースサブドキュメント、埋め込み方法
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var userSchema = new Schema({
_id : Schema.Types.ObjectId,
username : String,
});
module.exports = mongoose.model('User', userSchema);
:私は、ユーザーモデルを定義
user.js
という名前のファイルを持っている
var childSchema = new Schema({ name: 'string' });
var parentSchema = new Schema({
children: [childSchema]
});
:私は何を意味することは、私が見てきたすべての例は、同じファイル、例えば上の子モデルと親を宣言することです
また、別のファイルにsport.js
と呼ばれ、私はスポーツのための他のモデル定義を持っている:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var sportSchema = new Schema({
_id : Schema.Types.ObjectId,
name : String
});
module.exports = mongoose.model('Sport', sportSchema);
は、だから私のユーザモデルに、私は番目のスポーツのためのフィールドを定義する必要がありますEユーザーが続くが、私はそのサブ文書を定義する方法がわからないスポーツの定義は別のファイル上にあるため、私はこの試みた:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var SportsModel = require('sport');
var userSchema = new Schema({
_id : Schema.Types.ObjectId,
username : String,
sports : [SportsModel]
});
module.exports = mongoose.model('User', userSchema);
をしかし、それは何以来の正しい方法だ場合、私はわからないんだけど私はモデルをエクスポートしています、スキーマではありません。
おかげさまで、私は各モデルを別々のファイルに定義して順序を維持したいと考えています。
大変ありがとうございます。 – kevinblanco
これは正しいとマークする必要があります。 – arg20
金、純金です。 – ggderas