一开始没找到问题一直查不到数据,一行一行输出最后发现 new BasicDBObject()插入list时如果是直接对象的String数据get过来会带上双引号。
解决方案:add时进行replace操作,当然这里用的lambda表达式,使用List<String> 和 BasicDBList 都可以得到结果。
BasicDBList userCodes = new BasicDBList();
list.forEach( u -> userCodes.add(u.getUserCode().replace("\"","")));
成功√