Open netsafer opened 7 years ago
不管是否有此记录,findOne() 都能返回一个不为空的对象。 看代码后,发现是如下代码 见:com.cybermkd.mongo.kit.MongoKit.parseObject(Document, Class) private T parseObject(Document doc, Class clazz) { try { if (doc == null) { return JSON.parseObject(new JSONObject().toJSONString(), clazz); } return JSON.parseObject(JSON.toJSONString(doc), clazz); } catch (NullPointerException e) { error("parseObject", clazz.getName()); return JSON.parseObject(new JSONObject().toJSONString(), clazz); } }
doc == null 也 new一个 对象出来。 个人觉得,应该返回null
下版本的时候考虑解决。
不管是否有此记录,findOne() 都能返回一个不为空的对象。 看代码后,发现是如下代码 见:com.cybermkd.mongo.kit.MongoKit.parseObject(Document, Class)
private T parseObject(Document doc, Class clazz) {
try {
if (doc == null) {
return JSON.parseObject(new JSONObject().toJSONString(), clazz);
}
return JSON.parseObject(JSON.toJSONString(doc), clazz);
} catch (NullPointerException e) {
error("parseObject", clazz.getName());
return JSON.parseObject(new JSONObject().toJSONString(), clazz);
}
}
doc == null 也 new一个 对象出来。 个人觉得,应该返回null