2013-04-14 40 views
0

我试图用_id来更新Mongo objet。但是,我没有找到正确的语法来使它使用JavaDriver,这是我最后一次尝试。MongoDB:用JavaDriver通过_id干净地查询对象

BasicDBObject filtre = new BasicDBObject ("_id", new BasicDBObject("$oid", id_message));

然后给人以coll.update方法。 我设法使我的请求从嘘工作,但没有设法正确地将它正确地转换为Java。 (请求类似于:db.message.find({"_id" : ObjectId("516a94c4e4b0a315396e4ba3")});) ` 如何正确地将其转换为Java。 (最终使用的QueryBuilder)

回答

2

如果你想翻译:

db.message.find({"_id" : ObjectId("516a94c4e4b0a315396e4ba3")}) 

到Java,遵循这个基本的模式:

MongoClient mongoClient = new MongoClient(); 
DB db = mongoClient.getDB("testDB"); 
DBCollection messages= db.getCollection("message"); 
DBObject query = new BasicDBObject("_id", new ObjectId("516a94c4e4b0a315396e4ba3")); 
DBObject messageDoc = messages.findOne(query); 

结果将被存储在messageDoc

由于某些原因,documentation由于某种原因目前没有涵盖这种基本模式。