我想执行此查询:
db.fs.files.find({}, {filename: 1, _id: 0 })
使用 spring-data-mongodb (仅获取所有文件名)。
有人知道如何解决这个问题吗?
提前致谢。
最佳答案
选项 1
DBCollection fsCollection = template.getCollection("fs.files");
fsCollection.setObjectClass(null);
DBCursor cursor = fsCollection.find(new BasicDBObject(), new BasicDBObject("filename", 1).append("_id", 0));
while (cursor.hasNext()){
final DBObject object = cursor.next();
String filename = object.get("filename")
}
选项 2
@Autowired
MongoTemplate template;
@Document(collection="fs.files")
public class GridFsFile{
@Id
private ObjectId id;
public ObjectId getId() { return id; }
private String filename;
public String getFilename() { return filename; }
}
Query query = new Query();
query.fields().include("filename").exclude("_id");
template.find(query, GridFsFile.class)
关于mongodb - 从 fs.files 中投影一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29241620/