提问人:Kellen Stuart 提问时间:5/23/2018 最后编辑:Kellen Stuart 更新时间:5/24/2018 访问量:4645
Java & MongoDB - 如何在 MongoDB 文档中获取 _id 的值?
Java & MongoDB - How to get the value of _id in a MongoDB document?
问:
我正在使用此处指定的 API:http://api.mongodb.com/java/current/org/bson/Document.html
这是我拥有的代码:
Document doc = collection.find(Filters.eq("field","value")).first();
String id = (String) doc.getString("_id"); // this line throws exception
我已经检查了返回,但我无法访问 的值。doc
Document
_id
错误是这样说的:
java.lang.ClassCastException: org.bson.types.ObjectId cannot be cast to java.lang.String
答:
1赞
d3t0x
5/23/2018
#1
您是否尝试过以下操作:
doc.get("_id");
评论
0赞
Kellen Stuart
5/23/2018
刚刚尝试过。IDE 抛出一个错误,指出“Type mismatch: cannot convert Object to String”(类型不匹配:无法将对象转换为字符串)。也许我会尝试(String) doc.get("_id")
0赞
Kellen Stuart
5/23/2018
或者实际上doc.get("_id").toString();
0赞
glytching
5/23/2018
或者,如果您想获取实例。“不过,如果你只需要十六进制字符串表示,那就足够了。doc.get("_id", ObjectId.class))
ObjectId
doc.get("_id").toString()
2赞
Mạnh Quyết Nguyễn
5/23/2018
#2
_id
是一个 ,你应该使用这个:ObjectId
String id = doc.getObjectId("_id").toHexString();
1赞
Kellen Stuart
5/24/2018
#3
我不得不跑:
doc.get("_id").toString();
获取文本 ID。
评论