GridFs与java驱动程序的错误

时间:2014-05-08 00:57:36

标签: mongodb gridfs

我正在使用Gridfs在mongodb中存储一个大文件。 这是我插入文件的代码:

 GridFS bigFile = new GridFS(db, "35");
File f = new File(path+"/element.son");
GridFSInputFile gfsFile = bigFile.createFile(f);
gfsFile.setFilename("35");
gfsFile.save();

文件已成功完整插入,如果我尝试通过restful接口显示它,我有以下回复:

{
 "offset" : 0,
 "rows": [
    { "_id" : { "$oid" : "536ad33c300433edfe512724" }, "chunkSize" : 261120, "length" :             
    17647218, "md5" : "a86b60fb2d219d26b37256c89d1bb7f2", "filename" : "35", "contentType" :   
    null, "uploadDate" : { "$date" : 1399509820201 }, "aliases" : null }
  ],
  "total_rows" : 1 ,
  "query" : {} ,
  "millis" : 0
 }

现在,我想删除这个存储桶,这是我的代码:

GridFS gridFs = new GridFS(db, "35");
GridFSDBFile fi = gridFs.findOne("35");
GridFSDBFile file = gridFs.findOne(new ObjectId(fi.getId().toString()));
gridFs.remove(file);

显然文件已被删除,但响应是:

{
 "offset" : 0,
 "rows": [], 
 "total_rows" : 0 ,
 "query" : {} ,
 "millis" : 0
}

但是,如果我在我的控制台中显示收藏品,我仍然有我的桶(35.files,35.chunks)。

为什么在控制台中移除后我还有这个桶? 这是一个错误还是我还没有理解一些东西?

1 个答案:

答案 0 :(得分:0)

我已经向mongodb社区发送了一封电子邮件,他们说我的问题不是错误。 更多细节: https://jira.mongodb.org/browse/JAVA-1205?filter=-2