繁体   English   中英

使用java代码从mongodb Collection获取单个值

[英]Get the single value from mongodb Collection using java code

我想只从Mongodb Collection获得单个值。

目前我正在获取FindIterable的文档。

CustomObject obj =  db
        .getCollection("Collection",CustomObject.class)
        .find(and(eq("field1", new BigDecimal(10409)),eq("field2", new BigDecimal(1))));

但是,我不希望任何结果到Oracle中的Object或List.like,我们使用Query来获取单个Object:

从EMPLOYEE_TABLE中选择名称,其中ID = 10且DEPT_ID = 23;

此查询根据过滤条件为我们提供了员工的单个名称,我们以String类型Object获取输出。

同样我想从mongodb获取,我不想使用任何bean来填充数据。 我只想要一个String对象作为结果。

您可以在Collection上使用find方法,传递查询和字段以检索:

BasicDBObject fields = new BasicDBObject();
fields.put("name", true);

BasicDBObject query = new BasicDBObject();
query.put("id", 13);
query.put("dept_id", 23);

DBCursor find = mongoTemplate.getCollection("example").find(query, select);
List<DBObject> list = find.toArray();
List<String> names = list.stream().map(o -> String.valueOf(o.get("name"))).collect(Collectors.toList());

如果您正在寻找只返回一个文档的函数,那么您可以使用findOne

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM