猫鼬网格-流如何填充fs.文件收集



我在nodejs中使用gridfs-stream模块来存储图像。

var db = require('config/db');
var Schema = require('mongoose').Schema;
var schema = new Schema({
    name: String,
    photo: Schema.Types.ObjectId // store file ObjectId
});
var model = db.model('User', schema);
model.findById('123...', function(err, user) {
     console.log(user.photo) // only returning file ObjectId
     console.log(user.photo.filename) // error
});

如何填充用户照片以便访问文件信息?

我知道有fs。文件和文件系统。我的数据库中的块。但是我应该为它们创建模式以便我可以引用我的模型吗?

用户。photo的类型是Schema.Types.ObjectId。因此,user.photo.filename将不存在。

您需要将图像文件上传到gridfs,并在fs中获取给定图像的fileId。文件收集。然后可以设置user。

将photo作为fs.files中文件的fileId。

相关内容

  • 没有找到相关文章