我正在处理这个 Web 项目:Java、MongoDB 和 Freemarker 模板 (FTL)
数据被发送到 Map 中的 FTL 页面。
现在我想知道是否可以将 Mongo 查询的结果直接转换为 Map,然后将其发送到 FTL 模板。
例如:我想查询集合中的所有成员并将其放入 Map 以在 FTL 模板中使用。
public Map<String, Object> getAllMembers() {
DBCollection collection =database.getCollection("members");
BasicDBObject query = new BasicDBObject();
DBCursor cur = collection.find(query);
DBObject one = cur.next();
HashMap<String,Object> result = one;
return result;
}
或者这是不可能的,我需要遍历将每个值放入 Map 的结果?像这样:
public Map<String, Object> getAllMembers(f){
DBCollection collection = database.getCollection("members");
DBCursor cursor = collection.find();
Map<String,Object> itemMap = new HashMap<String, Object>();
DBObject one;
while(cursor.hasNext()) {
one = cursor.next();
itemMap.put((String)one.get("id"),one.get("name"));
}
return itemMap;
}
感谢您的任何帮助和建议!