mongodb 3.4を使用していますが、最後に挿入したドキュメントIDを取得したいとします。私はすべてを検索して、私はBasicDBObjectを使用した場合、以下のコードが使用できることを発見しました。Javaでmongodbドキュメントを挿入した後にオブジェクトIDを取得
BasicDBObject docs = new BasicDBObject(doc);
collection.insertOne(docs);
ID = (ObjectId)doc.get("_id");
しかし、問題は、私はこの、doc.getObjectId();
などのそれを取得しようとしました文書型ではないBasicDBObjectを使用しています。しかし、それは私が実際に私が欲しいパラメータを尋ねる、誰もそれを得る方法を知っていますか?
EDIT
これは私がデシベルをMongoのためにそれを挿入しています。
Document doc = new Document("jarFileName", jarDataObj.getJarFileName())
.append("directory", jarDataObj.getPathData())
.append("version", jarDataObj.getVersion())
.append("artifactID", jarDataObj.getArtifactId())
.append("groupID", jarDataObj.getGroupId());
私がdoc.toJson()
を使用すると、それは私に完全なドキュメントを示します。 _idだけを抽出する方法はありますか?
これは私がobjectkeyのようにそれをしたい値だけを与え、だから私は、参照キーとして使用することができます。 ObjectId
Javadocに基づいて
collection.insertOne(doc);
jarID = doc.get("_id");
System.out.println(jarID); //59a4db1a6812d7430c3ef2a5
"話が安く、コードを見せてください"。 - Linus Torvalds。 –
['BasicDBObject'](http://api.mongodb.com/java/current/com/mongodb/BasicDBObject.html)と[' Document'](http://api.mongodb.com/java/current /org/bson/Document.html)は、['Map'](http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true)インタフェースを実装していますそのうちの '.get()'は実際に属しています。ですから、上のコードで 'BasicDBObject'の' Document'を交換するだけです。 –
https://stackoverflow.com/questions/3338999/get-id-of-last-inserted-document-in-a-mongodb-w-java-driver?rq=1これは役に立ちます – Jerry06