Я работаю над сайтом блогового типа, который позволяет мне публиковать статьи, а также позволяет загружать изображения отдельно. Я хочу связать изображения с сообщениями.
Я сохраняю все сообщения с заголовком и телом в модели сообщений, затем сохраняю все изображения в модели изображений. Сейчас я пытаюсь встроить модель изображения в документ Post.
Я начинаю с создания схемы и модели изображения, затем создаю схему и модель записи и добавляю 'imageSchema' в качестве последнего поля всхема сообщения:
const imageSchema = {
url: String,
id: String
};
const Image = new mongoose.model("Image", imageSchema);
const postSchema = {
title: String,
content: String,
image: imageSchema
};
const Post = new mongoose.model("Post", postSchema);
Затем я загружаю изображение, чтобы связать его с одним сообщением:
Image.create(img) // save image information in database
.then(newImage => { Post.updateOne({_id: postId}, {image: { url:
img.url, id: img.id }} , function(err, foundPost){
if(!err){
res.json(foundPost);
} else {
res.send(err);
}
}); })
.catch(err => console.log(err));
Я ожидаю увидеть объект сообщения с объектом 'images' внутри, которыйсодержит URL-адрес и идентификатор, а затем я ожидаю, что смогу зарегистрировать только одно значение (image.url)
В действительности я вижу объект images с правильными значениями, но журнал одногозначение выводит весь объект изображения. Попытка использовать значение url с ejs на самом деле дает мне ошибку.
Я уверен, что делаю явную ошибку, но я стал слепым к этому. Любые и все предложения приветствуются.