java.lang.IllegalArgumentException:ObjectId 的十六进制表示形式无效

Rav*_*eja 5 java spring mongodb

我正在努力通过

ObjectId obj_id = new ObjectId("8cb2010d27e13509d364436256e972c0");
query.addCriteria(Criteria.where("zones.$id").is(obj_id));
Run Code Online (Sandbox Code Playgroud)

但我遇到了例外

`java.lang.IllegalArgumentException: invalid hexadecimal representation of an ObjectId: [8cb2010d27e13509d364436256e972c0]`
Run Code Online (Sandbox Code Playgroud)

但是当我从 mongo shell 传递相同的十六进制值时,我得到了输出。我无法理解出了什么问题。有人可以帮助我吗?

我还想知道是否有任何简单的方法可以使用 spring 在 mongo 文档中使用 DBRef 查询对象