mongodb如何在JAVA中将_id转换为String

时间:2014-09-12 19:03:08

标签: java mongodb mongodb-query

我正在从java代码中读取mongo集合。当我尝试读取_id值时,我得到以下内容:

{"$oid":"541333629520f6e05b0cb410"}

我从java代码中读到:jsonObject.get("_id")。我期待的是:"_id" : "541333629520f6e05b0cb410"

这里我正在寻找一种方法,以便我可以在一次操作中将_id作为字符串。

到目前为止,我一直在尝试以下方法:

        JSONObject idObj = (JSONObject)JSONObj.get("_id");
        ObjectId objectId = (ObjectId) idObj.get("$oid");

4 个答案:

答案 0 :(得分:1)

使用以下代码段解决此问题:

        JSONObject idObj = (JSONObject)obj.get("_id");
        String strID = (String) idObj.get("$oid");

可能还有其他一些方法可以更好地完成这项工作。

答案 1 :(得分:1)

这对我有用:

String objectId = (String) result.get("_id.$oid");

也许有更好的方法来做到这一点。让我知道它是否适合你。

干杯!

答案 2 :(得分:1)

使用MongoDb驱动程序版本3并使用Document对象。

        Document temp = hwCursor.next();
        temp.getObjectId("_id").toString();

temp.getObjectId("_id").toHexString();

答案 3 :(得分:0)

  

导入org.bson.types.ObjectId;

     

ObjectId idObj =(ObjectId)obj.get(“ _ id”);

     

字符串id = idObj.toString()