Java 从mongodb检索数据
我有一个mongodb数据库,我想从JavaMongoDBAPI检索数据。我的数据库类似于以下json:Java 从mongodb检索数据,java,mongodb,Java,Mongodb,我有一个mongodb数据库,我想从JavaMongoDBAPI检索数据。我的数据库类似于以下json: { "_id": 123456, "value": { "count": 123, "persons": 456 } } 我想对特定id执行查询,以获取计数和人数。我的代码是: BasicDBObject query = new BasicDBObject("_id",
{
"_id": 123456,
"value": {
"count": 123,
"persons": 456
}
}
我想对特定id执行查询,以获取计数和人数。我的代码是:
BasicDBObject query = new BasicDBObject("_id", no);
DBCursor cursor = coll_in.find(query);
System.out.println(cursor);
我用find(query)在数据库中找到了对象,我想检索count value和persons 使用
coll\u in.find(query)
从数据库中获取的光标可以是一组文档,或者您需要使用*.findOne()
或您的变体执行以下操作:
try (DBCursor cursor = coll_in.find(query)) {
while (cursor.hasNext()) {
final DBObject result = cursor.next();
Map<String, Object> value = (Map<String, Object>) result.get("value");
System.out.println(value.get("count"));
System.out.println(value.get("persons"));
}
} catch (final MongoException ex) {
// error
}
try(DBCursor cursor=coll_in.find(查询)){
while(cursor.hasNext()){
最终DBObject结果=cursor.next();
Map value=(Map)result.get(“value”);
System.out.println(value.get(“count”);
System.out.println(value.get(“persons”);
}
}捕获(最终MongoException ex){
//错误
}
但是为了最小化代码,如果您确定自己有唯一的id,请使用
findOne()
。使用coll\u in.find(query)
从数据库中获取的光标可以是一组文档,或者您需要使用*.findOne()
或与您的变体一起执行以下操作:
try (DBCursor cursor = coll_in.find(query)) {
while (cursor.hasNext()) {
final DBObject result = cursor.next();
Map<String, Object> value = (Map<String, Object>) result.get("value");
System.out.println(value.get("count"));
System.out.println(value.get("persons"));
}
} catch (final MongoException ex) {
// error
}
try(DBCursor cursor=coll_in.find(查询)){
while(cursor.hasNext()){
最终DBObject结果=cursor.next();
Map value=(Map)result.get(“value”);
System.out.println(value.get(“count”);
System.out.println(value.get(“persons”);
}
}捕获(最终MongoException ex){
//错误
}
但是为了最小化代码,如果您确定自己有唯一的id,请使用
findOne()
。使用coll\u in.find(query)
从数据库中获取的光标可以是一组文档,或者您需要使用*.findOne()
或与您的变体一起执行以下操作:
try (DBCursor cursor = coll_in.find(query)) {
while (cursor.hasNext()) {
final DBObject result = cursor.next();
Map<String, Object> value = (Map<String, Object>) result.get("value");
System.out.println(value.get("count"));
System.out.println(value.get("persons"));
}
} catch (final MongoException ex) {
// error
}
try(DBCursor cursor=coll_in.find(查询)){
while(cursor.hasNext()){
最终DBObject结果=cursor.next();
Map value=(Map)result.get(“value”);
System.out.println(value.get(“count”);
System.out.println(value.get(“persons”);
}
}捕获(最终MongoException ex){
//错误
}
但是为了最小化代码,如果您确定自己有唯一的id,请使用
findOne()
。使用coll\u in.find(query)
从数据库中获取的光标可以是一组文档,或者您需要使用*.findOne()
或与您的变体一起执行以下操作:
try (DBCursor cursor = coll_in.find(query)) {
while (cursor.hasNext()) {
final DBObject result = cursor.next();
Map<String, Object> value = (Map<String, Object>) result.get("value");
System.out.println(value.get("count"));
System.out.println(value.get("persons"));
}
} catch (final MongoException ex) {
// error
}
try(DBCursor cursor=coll_in.find(查询)){
while(cursor.hasNext()){
最终DBObject结果=cursor.next();
Map value=(Map)result.get(“value”);
System.out.println(value.get(“count”);
System.out.println(value.get(“persons”);
}
}捕获(最终MongoException ex){
//错误
}
但是为了最小化代码,如果您确定您有唯一的_id,请使用findOne()
。findOne()方法的示例
BasicDBObject query=newbasicdbobject(“\u id”,no);
DBObject object=coll_in.findOne(查询);
Map doc=(Map)对象;
如果(doc!=null){
映射值=(映射)doc.get(“值”);
System.out.println(value.get(“count”);
System.out.println(value.get(“persons”);
}
findOne()方法的示例
BasicDBObject query=newbasicdbobject(“\u id”,no);
DBObject object=coll_in.findOne(查询);
Map doc=(Map)对象;
如果(doc!=null){
映射值=(映射)doc.get(“值”);
System.out.println(value.get(“count”);
System.out.println(value.get(“persons”);
}
findOne()方法的示例
BasicDBObject query=newbasicdbobject(“\u id”,no);
DBObject object=coll_in.findOne(查询);
Map doc=(Map)对象;
如果(doc!=null){
映射值=(映射)doc.get(“值”);
System.out.println(value.get(“count”);
System.out.println(value.get(“persons”);
}
findOne()方法的示例
BasicDBObject query=newbasicdbobject(“\u id”,no);
DBObject object=coll_in.findOne(查询);
Map doc=(Map)对象;
如果(doc!=null){
映射值=(映射)doc.get(“值”);
System.out.println(value.get(“count”);
System.out.println(value.get(“persons”);
}
我想为特定ID而不是数据库中的所有ID这样做。这没关系。您已经在游标中获得了查询结果。您需要循环遍历游标
,即使它只包含一个文档,就像您的案例一样。我希望对特定ID而不是数据库中的所有ID执行此操作。这没关系。您已经在游标中获得了查询结果。您需要循环遍历游标
,即使它只包含一个文档,就像您的案例一样。我希望对特定ID而不是数据库中的所有ID执行此操作。这没关系。您已经在游标中获得了查询结果。您需要循环遍历游标
,即使它只包含一个文档,就像您的案例一样。我希望对特定ID而不是数据库中的所有ID执行此操作。这没关系。您已经在游标中获得了查询结果。你需要循环遍历游标
,即使它只包含一个像你这样的文档。我在twitter4j.examples.tweets.UpdateStatus.main(UpdateStatus.java:108)的线程“main”java.lang.NullPointerException中得到以下异常。java结果:1在使用它之前检查doc
对象。For.findOne(DBObject)
最好将like参数DBObject
发送到需要指定查询的地方。我在twitter4j.examples.tweets.UpdateStatus.main(UpdateStatus.java:108)的线程“main”java.lang.NullPointerException中得到以下异常。java结果:1在使用前检查doc
对象。For.findOne(DBObject)
最好发送like参数DBObject
where y