当前位置:  开发笔记 > 编程语言 > 正文

获取带有Java驱动程序的mongoDB中最后插入的文档的ID

如何解决《获取带有Java驱动程序的mongoDB中最后插入的文档的ID》经验,为你挑选了4个好方法。

有没有一种简单的方法来使用Java驱动程序获取mongoDB实例的最后插入文档的ID(ObjectID)?



1> Matt W..:

讨厌回答我自己的问题,但我才意识到你可以这样做:

BasicDBObject doc = new BasicDBObject( "name", "Matt" );
collection.insert( doc );
ObjectId id = (ObjectId)doc.get( "_id" );



2> zlob..:

这样做很安全

doc.set("_id", new ObjectId())

如果你看看驱动程序代码

if ( ensureID && id == null ){
    id = ObjectId.get();
    jo.put( "_id" , id );       
}

public static ObjectId get(){
    return new ObjectId();
}



3> Jadiel de Ar..:

为了避免转换ObjectObjectId,给定a com.mongodb.client.MongoCollection collection和a org.bson.Document doc,您可以执行以下操作:

collection.insert(doc);
ObjectId id = doc.getObjectId("_id");



4> chx..:

我不知道Java驱动程序,但对于后代,可以运行getLastError命令来获取写入的_id,甚至是upsert(从1.5.4开始)

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有