2013-12-10 18 views
0

我试图使用_id领域得到一个纪录MONGO DB驱动程序的Java查找单行,这里是我的代码使用_id场

BasicDBObject query = new BasicDBObject("_id","52a6a2cc05e1c80fd5e9295c"); 

DBCursor cursor = blogTable.find(query); 
while (cursor.hasNext()) 
{ 
    System.out.println("got u"); 
    dataText.setText((cursor.next().get("content:encoded")).toString()); 
} 

我简单的没有得到任何数据和我相当肯定ID存在 。请帮助

+0

打印出“cursor.next()”会发生什么?不知道这是否会向您显示数据。你是否“得到你”来打印? – envinyater

+0

其实我得到了它,我需要传递对象,因为它是通过使用toString方法 还是要谢谢你 – Snedden27

回答

3

我猜你被称为“52a6a2cc05e1c80fd5e9295c”的字符串实际上是MongoDB中的ObjectID。如果是这种情况,你的查询是...

BasicDBObject query = new BasicDBObject(); 
query.put("_id", new ObjectId("52a6a2cc05e1c80fd5e9295c")); 
DBObject dbo = blogTable.findOne(query); 
if (dbo != null) { 
    System.out.println("got u " + dbo); 
} else { 
    System.out.println("not found"); 
} 

你需要知道在MongoDB中的东西的类型。

+0

是啊,我得到了它最终的感谢, 新来蒙戈不将其转换为字符串 – Snedden27