使用_id字段在MONGODB驱动程序java中查找单行

时间:2013-12-10 18:57:18

标签: java mongodb

我正在尝试使用_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存在 。请帮助

1 个答案:

答案 0 :(得分: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中的事物类型。