使用mongo-java-driver获取文档id和查找文档

注:本文所有代码都使用的mongo-java-driver实现。

MongoDB中,一个集合(collection)在概念上就类似我们SQL数据库中的表(Table),这个集合包含了一系列文档(document)。一个DBObject对象表示我们想添加到集合(collection)中的一个文档(document),MongoDB会自动为我们创建的每个文档添加一个id,这个id在我们通过save方法保存文档之后设置到DBObject对象当中,然后我们就可以使用id来查找我们刚才添加的那个文档的信息了,比如用来检验我们的操作是否成功。获取文档id代码示例如下:

 

DBObject obj = new BasicDBObject();
obj.put("title", getTitle());
obj.put("body", getBody());
DBCollection coll = db.getCollection("note"));
coll.save(obj);
String idString = obj.get("_id").toString();

    接下来,我们看看怎么使用id来查找一个文档。这个idjava语言中,是String类型,但在MongoDB中,它是一个ObjectId的实例,我们在使用id文档的时候,需要将id通过ObjectId的构造函数转化为一个ObjectId对象,然后执行文档查找操作,具体代码如下:

String idString = "a456fd23ac56d";
DBCollection coll = db.getCollection(getCollectionName());
DBObject searchById = new BasicDBObject("_id", new ObjectId(idString));
DBObject found = coll.findOne(searchById);

  原文地址:http://www.zorched.net/2010/06/17/mongodb-and-java-find-an-item-by-id/

 

猜你喜欢

转载自bigbird2012.iteye.com/blog/2111591