У меня есть схема Mongoose с массивом lists
объектов, которые состоят из ссылки на другую коллекцию и вложенного массива чисел:
var Schema, exports, mongoose, schema;
mongoose = require("mongoose");
Schema = mongoose.Schema;
schema = new Schema({
name: {
type: String,
required: true,
unique: true,
trim: true
},
lists: [
{
list: {
type: Schema.ObjectId,
require: true,
ref: "List"
},
allocations: [
{
type: Number,
required: true
}
]
}
],
createdAt: {
type: Date,
"default": Date.now
},
updatedAt: {
type: Date
}
});
exports = module.exports = mongoose.model("Portfolio", schema);
Однако я не могу заставить populate
работать как ожидалось, не получив TypeError: Cannot read property 'ref' of undefined
. Я пробовал populate('list')
и populate('lists list')
, но я либо неправильно звоню, либо моя схема не сформирована правильно. У меня нет этой проблемы, если я просто ссылаюсь на списки самостоятельно:
lists: [
{
type: Schema.ObjectId,
require: true,
ref: "List"
}
]
но я хочу иметь массив распределения рядом с каждым списком. Что мне нужно сделать, чтобы получить поведение, которое я хочу?