我尝试使用java代码在我的mongo数据库中执行查询。我想使用游标过滤查询的结果。基本上我想过滤两次光标结果。我的查询返回一些文档,我想根据文档字段和第一个字段的子字段过滤它们。例如:
DBCursor cursor = coll.find(query);
while(cursor.hasNext()) {
BasicDBObject obj = (BasicDBObject) cursor.next();
System.out.println(obj.getString("images"));
}
从所有已处理的文档中返回图像字段。如果我想返回该字段,该怎么办?" link"这是一个字段的子字段"图像"?我试过了obj.getString("images").getString("link")
,但它没有用。图像是一个包含三个字段的数组,第一个是字段"链接"。如果上述回报如下:[ { "link" : "http://distilleryimage1.ak.instagram.com/fc7c5_7.jpg" , "phash" : "01000010101000101010111101" , "persons" : 1}]
。我想只返回第一个字段链接。
答案 0 :(得分:2)
只需将图像作为ArrayList:
ArrayList<BasicDBObject> images = (ArrayList<BasicDBObject>)obj.get("images");
for(BasicDBObject image: images)
{
String link = image.getString("link");
.......
}