Я создаю приложение, в котором пользователь добавляет и удаляет объекты (Pic) в массиве («pics») после регистрации, но не уверен, как динамически загружать или заполнять («pics») в userSchema для автоматического рендеринга. Пользователь регистрируется в приложении с изначально пустым массивом ('pics' = ноль) и после этого создает или удаляет эти объекты при входе в систему. Следуя документации, я использовал «ожидание User.find().populate('pics' );" для переноса данных в метод index, но это не сработало.
Кроме того, должен ли я включать ключ 'pics' в метод store, или должно быть достаточно 'pics' userSchema?
const userSchema = new mongoose.Schema({
name: {
type: String,
required: true,
trim: true
},
pics: [
{
type: mongoose.Schema.Types.ObjectId,
ref: "Pic"
}
],
});
const picSchema = new mongoose.Schema({
thumbnail: String,
description: String,
dev: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User'
},
},
);
const User = mongoose.model('User', userSchema);
const Pic = mongoose.model('Pic', picSchema)
async index(req, res, next) {
const users = await User.find().populate('pics');
res.status(200).json(
devs
);
},
async store(req, res) {
try {
const { name } = req.body;
let user = await User.create({
name,
pics
})
// await user.populate('pics').execPopulate();
res.send({ user })
}
} catch (error) {
res.status(400).send(error);
}
},