Я определяю свои модели приложений, и у меня есть отдельные файлы для каждой модели, которую я определяю, мой вопрос: мне нужно создать модель, использующую поддокумент, но в другом файле, как я могу использовать эту схему на моей модели? я имею в виду, что все примеры, которые я видел, объявляют модель Child и родительский файл в том же файле, например:
var childSchema = new Schema({ name: 'string' });
var parentSchema = new Schema({
children: [childSchema]
});
У меня есть один файл с именем user.js
, который определяет модель пользователя:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var userSchema = new Schema({
_id : Schema.Types.ObjectId,
username : String,
});
module.exports = mongoose.model( 'User', userSchema );
И в другом файле под названием 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 );
Итак, на моей пользовательской модели мне нужно определить поле для спорта, что пользователь будет следовать, но я не знаю, как определить, что поддокумент поскольку определение спорта на другой файл, я попытался это:
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 );
Но я не уверен, правильно ли это, так как я экспортирую модель, а не схему.
Заранее спасибо, я хочу определить каждую модель для отдельных файлов для поддержания порядка.