仅从使用Java的MongoDB中的GridFS获取元数据

仅从使用Java的MongoDB中的GridFS获取元数据,java,mongodb,metadata,Java,Mongodb,Metadata,我不想在java中获取GridFSDBFile的inputstream。我只想得到元数据 DBCollection fsFilesCollection = mongoOperations.getCollection("fs.files"); DBObject result = fsFilesCollection.findOne(query.getIdObject()); 有更好的解决办法吗 一个问题是,我在第一个查询中得到一个DBObject对象作为结果。 如果我再次发送此查询,findOne

我不想在java中获取GridFSDBFile的inputstream。我只想得到元数据

DBCollection fsFilesCollection = mongoOperations.getCollection("fs.files");
DBObject result = fsFilesCollection.findOne(query.getIdObject());
有更好的解决办法吗

一个问题是,我在第一个查询中得到一个DBObject对象作为结果。 如果我再次发送此查询,findOne将重新返回GridFSDBFile对象

我肮脏的变通方法是

if (result != null) {
    if (result instanceof GridFSDBFile) {
            return new FSGridMetaData((GridFSDBFile) result);
    } else {
            return new FSGridMetaData(result);
    }
}
!!FSGridMetaData是我自己的对象