有没有一种简单的方法来使用Java驱动程序获取mongoDB实例的最后插入文档的ID(ObjectID)?
Mat*_*t W 188
讨厌回答我自己的问题,但我才意识到你可以这样做:
BasicDBObject doc = new BasicDBObject( "name", "Matt" );
collection.insert( doc );
ObjectId id = (ObjectId)doc.get( "_id" );
Run Code Online (Sandbox Code Playgroud)
zlo*_*lob 12
这样做很安全
doc.set("_id", new ObjectId())
Run Code Online (Sandbox Code Playgroud)
如果你看看驱动程序代码
if ( ensureID && id == null ){
id = ObjectId.get();
jo.put( "_id" , id );
}
public static ObjectId get(){
return new ObjectId();
}
Run Code Online (Sandbox Code Playgroud)
为了避免转换Object
为ObjectId
,给定a com.mongodb.client.MongoCollection collection
和a org.bson.Document doc
,您可以执行以下操作:
collection.insert(doc);
ObjectId id = doc.getObjectId("_id");
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
51889 次 |
最近记录: |