将photo作为fs.files中文件的fileId。
我在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。