Так что я пытаюсь выяснить численность населения и отношения в Mongoose/Mongoose. У меня есть Fixture, у которого будет много прогнозов. Если я хочу показать инструмент предсказания, я могу просто использовать метод заполнения, но что, если мне нужно показать все предсказания для светильника?MongoDB/Mongoose имеет много отношений
Это звучит достаточно просто, но, возможно, у меня еще есть голова SQL, пытаясь понять это. Легко ли это сделать, или я подхожу к нему неправильно? Вот мои модели -
var FixtureSchema = new Schema({
homeTeam: {
type: Number,
required: true,
ref: 'Team'
},
awayTeam: {
type: Number,
required: true,
ref: 'Team'
},
date: {
type: Date
},
matchday: {
type: Number,
required: true
}
});
var PredictionSchema = new Schema({
goalsHomeTeam: {
type: Number,
required: true
},
goalsAwayTeam: {
type: Number,
required: true
},
fixture: {
type: Number,
ref: 'Fixture'
},
user: {
type: Schema.ObjectId,
ref: 'User'
}
});
Спасибо, Грант. Моя проблема в том, что если я хочу получить массив приборов и заполнить все прогнозы для всех из них? Это возможно? –
На самом деле нет простого и быстрого способа сделать это. Вы не можете «заполнить», потому что прибор не хранит ссылку на все его предсказания. Вы можете заполнить массивы _id, но это потребует, чтобы вы обновляли объект fixture каждый раз, когда вы создаете новое предсказание. Другим возможным решением является [асинхронная библиотека] (https://github.com/caolan/async). В частности, «каждая» функция. Прокрутите по приборам и для каждого из них найдите все предсказания и верните массив. –
Хорошо здорово. Я считаю, что это решит мою проблему. Спасибо за помощь Грант. –