报错信息如下:
Exception in thread "main" java.lang.IllegalArgumentException: invalid hexadecimal representation of an ObjectId: [123]
at org.bson.types.ObjectId.parseHexString(ObjectId.java:519)
at org.bson.types.ObjectId.<init>(ObjectId.java:233)
at Test.main(Test.java:5)
报错中午字面意思是:无效的十六进制表示,至于代码中的ID是随便写的一个数字:
public class Test {
public static void main(String[] args) throws Exception {
ObjectId a = new ObjectId("123");
System.out.println(a);
}
}
最后发现原来 ObjectId 初始化时候的ID是不能随便乱写的,必须符合他的规范才行,具体参考:点击打开链接