如何使用_id字段从mongodb中获取记录,并使用java在控制台中显示获取的记录
我正在尝试使用“\u id”字段从mongodb检索记录。但是我的输出是空的 我的代码:如何使用_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();
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名称和集合名称是否正确。即使是这样的情况也很重要。