如何使用_id字段从mongodb中获取记录,并使用java在控制台中显示获取的记录

如何使用_id字段从mongodb中获取记录,并使用java在控制台中显示获取的记录,java,mongodb,Java,Mongodb,我正在尝试使用“\u id”字段从mongodb检索记录。但是我的输出是空的 我的代码: MongoClient mongo = new MongoClient("localhost",27017); DB db = mongo.getDB("sample"); DBCollection col = db.getCollection("matching"); BasicDBObject query = new BasicDBObject();

我正在尝试使用“\u id”字段从mongodb检索记录。但是我的输出是空的

我的代码:

MongoClient mongo = new MongoClient("localhost",27017);
        DB db = mongo.getDB("sample");
        DBCollection col = db.getCollection("matching");

BasicDBObject query = new BasicDBObject();
            query.put("_id", new ObjectId("56cec592fe3fc16f6b564761"));
            DBObject dbObj = col.findOne(query);
            System.out.println(dbObj); //getting output as null
我在mongodb的记录:

{
        "_id" : ObjectId("56cec592fe3fc16f6b564761"),
        "name" : "vishal",
        "location" : "Delhi",
        "Profession" : "SE",
        "number" : 2
}
试试这个

            DBObject dbObj = col.findOne(new ObjectId("56cec592fe3fc16f6b564761"));

您可以导入
org.bson.types.ObjectId
,您可以用它包装
id
,并在查询中作为

import org.bson.types.ObjectId;
...

MongoClient mongo = new MongoClient("localhost",27017);
DB db = mongo.getDB("sample");
DBCollection col = db.getCollection("matching");
BasicDBObject query = new BasicDBObject();
query.put("_id", new ObjectId("56cec592fe3fc16f6b564761"));
DBObject dbObj = col.findOne(query);

尽管如此,我还是得到了空输出,请提供不仅仅是代码。这个更改应该如何解决这个问题?如何打印那个dbObj。我正在使用sysout打印dbObj,但输出为null。我使用了相同的代码,但仍然面临这个问题…您的问题暗示了一些不同的东西:这里您想打印,但您的问题暗示了获取,这是什么?是的,我正在尝试获取dbObj中的记录,并尝试在控制台中显示获取的对象。请相应地更新您的问题,您忽略了打印结果部分的方式。我可以使用sysout检索dbObj。非常感谢您的帮助。请检查db名称和集合名称是否正确。即使是这样的情况也很重要。