Я ищу, чтобы создать отношения один-ко-многим следуя этой схеме http://docs.mongodb.org/manual/tutorial/model-referenced-one-to-many-relationships-between-documents/MongoDB/mongoose создает связь между двумя моделями?
У меня есть Exercise.js
схему, которая будет содержать набор упражнений.
var exerciseSchema = new mongoose.Schema({
_id: String,
title: String,
description: String,
video: String,
sets: Number,
reps: String,
rest: Number
});
Тогда у меня есть план тренировки BeginnerWorkout.js
схемы
var workoutDaySchema = new mongoose.Schema({
_id: String,
day: Number,
type: String,
exercises: Array
});
Я хочу, чтобы связать множество упражнений с workoutDaySchema
, это содержит набор дни тренировок для конкретной тренировки, каждый день имеет сбор упражнений.
У меня есть функция сеялки, которая создает тренировку для меня.
check: function() {
// builds exercises
Exercise.find({}, function(err, exercises) {
if(exercises.length === 0) {
console.log('there are no beginner exercises, seeding...');
var newExercise = new Exercise({
_id: 'dumbbell_bench_press',
title: 'Dumbbell Bench Press',
description: 'null',
video: 'null',
sets: 3, // needs to be a part of the workout day!!
reps: '12,10,8',
rest: 1
});
newExercise.save(function(err, exercises) {
console.log('successfully inserted new workout exercises: ' + exercises._id);
});
} else {
console.log('found ' + exercises.length + ' existing beginner workout exercises!');
}
});
// builds a beginner workout plan
BeginnerWorkout.find({}, function(err, days) {
if(days.length === 0) {
console.log('there are no beginner workous, seeding...');
var newDay = new BeginnerWorkout({
day: 1,
type: 'Full Body',
exercises: ['dumbbell_bench_press'] // here I want to pass a collection of exercises.
});
newDay.save(function(err, day) {
console.log('successfully inserted new workout day: ' + day._id);
});
} else {
console.log('found ' + days.length + ' existing beginner workout days!');
}
});
}
Так что мой вопрос внутри здания тренировки плана, как я могу связать упражнения с exercises
Into ключа, используя мангуст?
Круто спасибо, так где передать идентификатор упражнения, то есть 'dumbbell_bench_press'? –
На самом деле, это не совсем понятно для меня. Я хочу дать вам зеленый чек, но мне нужна помощь, чтобы понять, где «упражнение» действительно отображается на тренировку? Если конкретное упражнение имеет id 'dumbbell_bench_press', я хочу связать это упражнение с 1-й день тренировки. –
Я обновил ответ, чтобы показать шоу, вы можете добавить ссылки, нажав _id в массив упражнений –