我正在使用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)。
为什么在控制台中移除后我还有这个桶? 这是一个错误还是我还没有理解一些东西?
答案 0 :(得分:0)
我已经向mongodb社区发送了一封电子邮件,他们说我的问题不是错误。 更多细节: https://jira.mongodb.org/browse/JAVA-1205?filter=-2