【发布时间】:2020-07-07 10:40:21
【问题描述】:
{
DB db = Helper.connectingMonggo();
BasicDBObject query = new BasicDBObject();
query.put("_id", "123");
DBCollection table = new db.getCollection("prodDetail");
DBCursor cursor = table.find(query); --// cursor has only one record (size =1)
while(cursor.hasNext()){
DBObject obj = cursor.next();
List<String> upcs = new ArrayList<>();
BasicDBList list = (BasicDBList) obj.get("prodList"); --//here prodList size also 1 always
DBObject obj1 = (DBObject) list.get(0);
BasicDBList detailsList = (BasicDBList) obj1.get("pDetailsList");
for(Object obj2 : detailsList){
JSONObject obj3 = new JSONObject(JSON.serialize(obj2));
ups.add(obj3.get("upcStatus").toString());
} } }
我正在获取带有 upcStatus 的列表数组,但是,它是正确的书写方式吗?
【问题讨论】:
-
拥有代码的方式就是获得结果的方式。您还可以使用聚合查询来获取没有游标和for循环逻辑的输出。您还可以使用 MongoDB Java Driver 的较新 API - 请参阅参考 ->教程/示例..
标签: java json mongodb mongodb-java