我正在尝试更新个人资料图片,但我读过GridFS没有更新方法所以我试图先删除记录然后再插入新记录,但是当我尝试删除记录时,它说&#34 ;成功"但是根本没有从DB中删除它(记录仍然可见),当我在删除前添加gfs.exist作为检查时,我得到以下日志,我不明白为什么它返回false,当记录确实存在,我也尝试传递文件名(同样的错误)。
console.log("current pid:",req.body.current_pid);
gfs.exist({_id:req.body.current_pid}, function (err, found) {
console.log("found: ", found);
if(found){
gfs.remove({_id:req.body.current_pid}, function (err) {
if (err) return handleError(err);
console.log('success in deletion',err);
});
}
else{
console.log('does not exist',err);
}
});
}
日志:
current pid: 55b877629f6f5af41c0e25ed
found: false
does not exist null
答案 0 :(得分:0)
您需要更改它。 GridFS期望默认集合“ root”为“ fs”,gridfs-stream中的方法也是如此。那是你的问题。只需在代码中的“ gfs” object gfs.collection("photos")
中设置该方法,即可找到。否则,各个方法的额外arg将使用config对象,因此:
{ "root": "photos" }
有。
学分-@布雷克七世