1

我想使用 GridFS 将文件存储在 MongoDB 中,用于流式传输视频和保存图像等不同目的。这些是猫鼬文档“文章”的一部分。

我正在考虑为每种文件类型“视频”和“缩略图”使用来自 GridFS 的不同存储桶,但我不确定如何创建模式和模型来填充整个集合。

我有这个架构,我想在每个视频和缩略图中填充 fs.files。

var mongoose    = require('mongoose'),
    Schema      = mongoose.Schema;

var ArticleSchema   = new Schema({
    title       : { type : String, required : true },
    description : { type : String, required : true },
    votes       : { type : Number, default : 0 },
    createdAt   : { type : Date, default : Date.now },
    // ObjectID of the fs.file video
    // ObjectID of the fs.file thumbnail
});

ArticleSchema.pre('save', function(next) {
    store this files using here the createWriteStream
});

module.exports = mongoose.model('Article', ArticleSchema);

问题:

使用“pre”方法存储此集合的逻辑必须在模型中?

我在这里看到了大量示例和相关问题,但都将存储文件的逻辑放在控制器中,而不是在模型中执行。

4

0 回答 0