嵌套文档上的Mongoose垃圾

问题描述 投票:0回答:1

我是一个mongodb的初学者,我想得到你的建议,关于采用的最佳做法。

我正在创建一个简单的博客,我的mongoose模式是这样的。

博客

const Blog = new Schema({
    title : String,
    description : String,
    pictures: Schema.Types.Mixed
});

画面

const picture = new Schema({
    images : Array
});

图片模式将只包含URL,图片将存储在云端。

我将其分为两个模式,以免逻辑重复,因为我还可以添加一个用户图,其中会有一张个人资料照片(图片模式)。

我主要关注的是我将如何执行用户和博客模式的crud操作,因为他们有一个子文档的图片是一个字符串,但必须实现与multer,cloudinary和fs上传。

你的帮助将是宝贵的给我

node.js mongodb express mongoose mongoose-schema
1个回答
1
投票

你不应该做这样的模式。所有与Blog相关的东西都应该在它的模式中,所以如果图片是Blog的一部分,那么只要把它添加到Blog的模式里面就可以了。

const Blog = new Schema({
    title : String,
    description : String,
    images: Array
});

然后这个图片数组就可以有这个Blog的图片的URLs。对于用户部分,你应该为用户建立另一个模式,其中包括用户名、密码等和该用户的个人资料图片。这样事情就更有条理和可读性,而不是重复逻辑,但这并不意味着你应该让它变得如此模块化,以至于它变得混乱。保持简单 所有与Blog相关的东西都在Blog schema中,所有与Users相关的东西都在User schema中,以此类推。

© www.soinside.com 2019 - 2024. All rights reserved.