因此,我將parseSortString進行改動如下:
public BasicDBObject parseSort(String str) {
BasicDBObjectBuilder ret = BasicDBObjectBuilder.start();
String[] parts = str.split(",");
MappedClass mc = ds.getMapper().getMappedClass(clazz);
for (String s : parts) {
s = s.trim();
int dir = 1;
if (s.startsWith("-")) {
dir = -1;
s = s.substring(1).trim();
}
s = mc.getMappedFieldByJavaField(s).getNameToStore();
ret = ret.add(s, dir);
}
return (BasicDBObject) ret.get();
}