【问题标题】:GridFs bug with java driverjava驱动程序的GridFs错误
【发布时间】:2014-05-08 00:57:36
【问题描述】:

我正在使用 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) 仍然存在。

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

【问题讨论】:

    标签: mongodb gridfs


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2015-07-23
      • 1970-01-01
      • 1970-01-01
      • 2011-05-17
      • 1970-01-01
      • 2014-11-20
      • 1970-01-01
      • 2016-10-16
      • 1970-01-01
      相关资源
      最近更新 更多