【问题详细描述】
1、使用java驱动向sdb插入BSONObject时报:
java.lang.IllegalArgumentException: can't serialize class net.js.json.JSONNULL
(详细报错信息见:1.png)
2、用户需要插入的数据为多层嵌套的bson对象,见 2.jpg。
3、用户组装成BSONObject为单层嵌套,见 3.jpg。
【问题分析】
在使用java驱动时,用户没有使用java BSON指定的数据类型,而是使用了自定义的数据类型,导致在javaBSON编码的时候,不能识别用户自定义的数据类型,从而报错。
从用户报错的信息看出,用户希望使用”JSONNULL”来表示null类型。但是java BSON不认识"JSONNULL",所以不能将其编码。
【解决方法】
1、构建java bson时,可参考如下链接:
http://doc.sequoiadb.com/cn/index-cat_id-1432190585-edition_id-0
【参考链接】
错误码
常见错误处理指南