MongoDB
1.同一字段字符串型数字与数值型数字同时存在时,求出的最值是字符串型数字中的最值。
当仅有数值型数字时,求出的最值是数值型数字中的最值。(下面这种形式时是这样)
2.当查询的数据是字符串型数字,先比较第一位。
/**
* 查询数据 最大值* fieldname 要查询的字段名
*/
public String findMax(String fieldname){
List<Document> ops = new ArrayList<Document>();
Document group = new Document("$group",new Document("_id","").append("max", new Document("$max","$"+fieldname)) );
ops.add(group);
AggregateIterable<Document> aggregate = mcol.aggregate(ops);
Object object = 0;
for (Document document2 : aggregate) {
object = document2.get("max");
}
if(object!=null){
return String.valueOf(object);
}else{
return (String)object;
}
}