我正在使用MongoDB
和Java-driver
。
我需要将文档插入MongoDB并检索此文档的_id。 insert
方法返回[WriteResult][1]
。
我不知道如何使用WriteResult对象来检索_id,因为我尝试这样做:
public void insertDocument(BasicDBObject fact){
DBCollection coll = this.getCollection("facts");
WriteResult result = coll.insert(fact);
String id = (String) result.getField("_id");
System.out.println("--------------------------->"+id);
}
我在String
中有一个空println
。
我的问题是我如何获得刚刚插入数据库的整个对象(带有_id)。
谢谢!
答案 0 :(得分:4)
插入BasicDBObject
实例后,MongoDB驱动程序会根据设置_id
字段的值来修改实例(如果尚未指定)。
因此,您仍然可以使用fact
对象并从那里获取_id
:
System.out.println(fact.get("_id"));