nodejs mongodb mongoose と gridfs を使用しています。ファイル名でファイルを取得しようとすると、id で取得したい場合、エラーが発生します。読み取りたいファイルが存在しません。次のコード console.log("res.pic_id : " + res.pic_id) を実行すると、正しい ObjectId が取得されます。コードは次のとおりです。
var GridFS = require('GridFS').GridFS;
var myFS = new GridFS('db');
var fs = require('fs')
var Profile = db.model('Profile');
Profile.findOne({'_id' : clientID},['_id', 'username','pic_id','pic_filename'],function(err, res){
if (err) {
console.log("ERROR serching user info: " + err);
callback(JSON.stringify(JSONRes(false, err)));
}
else {
if (res) {
console.log("res.pic_id : " + res.pic_id);
myFS.get(res.pic_id,function(err,data){
if (err)
console.log("ERROR "+err)
else {
callback(data);
}})
};
}
else {
callback(JSON.stringify(JSONRes(false, err)));
}
}
})
ありがとうございました!