gridfs- stream不会从mongdb中删除文件

时间:2015-07-29 07:13:42

标签: node.js mongodb stream gridfs

我正在尝试更新个人资料图片,但我读过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

1 个答案:

答案 0 :(得分:0)

您需要更改它。 GridFS期望默认集合“ root”为“ fs”,gridfs-stream中的方法也是如此。那是你的问题。只需在代码中的“ gfs” object gfs.collection("photos")中设置该方法,即可找到。否则,各个方法的额外arg将使用config对象,因此:

{ "root": "photos" }

有。

学分-@布雷克七世