我想使用GridFS将文件存储在MongoDB中,用于不同的目的,如流视频和保存图像。这些是一份mongoose文件的一部分"文章"。
我正在考虑使用GridFS的不同存储桶来处理每种文件类型"视频"和"缩略图"但我不知道如何创建Schema和Model来填充整个集合。
我有这个架构,我想在每个视频和缩略图中填充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'存储此集合的逻辑方法必须在模型中?
我在这里看到了一些示例和相关问题,但是所有这些都将逻辑存储在控制器中而不是在模型中进行。