Можно ли заполнить массив в схеме mongoose со ссылками на несколько разных параметров схемы?
Чтобы немного прояснить вопрос, скажем, у меня есть следующие схемы:
var scenarioSchema = Schema({
_id : Number,
name : String,
guns : []
});
var ak47 = Schema({
_id : Number
//Bunch of AK specific parameters
});
var m16 = Schema({
_id : Number
//Bunch of M16 specific parameters
});
Можно ли заполнить массив орудий связкой ak47 ИЛИ m16? Можно ли помещать BOTH в тот же массив оружия? Или требуется ли заполнять ref в массиве активов, как это, что ограничивает его одним конкретным типом?
guns: [{ type: Schema.Types.ObjectId, ref: 'm16' }]
Я знаю, что у меня могут быть только отдельные массивы для разных типов оружия, но это создаст безумное количество дополнительных полей в схеме, поскольку масштаб проекта, большинство из которых останется пустым в зависимости от загруженного сценария.
var scenarioSchema = Schema({
_id : Number,
name : String,
ak47s : [{ type: Schema.Types.ObjectId, ref: 'ak47' }],
m16s: [{ type: Schema.Types.ObjectId, ref: 'm16' }]
});
Итак, вернемся к вопросу, могу ли я использовать несколько ссылок схемы в одном массиве?