![](/img/trans.png)
[英]MongoDB : how to get all elements that contain an array using Java Driver?
[英]How to get embedding elements in mongodb using Java
我的json数据如下:
"scores": [
{
"type": "exam",
"score": 1
},
{
"type": "quiz",
"score": 2
},
{
"type": "homework",
"score": 3
},
{
"type": "homework",
"score": 4
}
]
我正在使用下面的代码来检索只有得分。
while(cursor.hasNext())
{
BasicDBObject acc=( BasicDBObject) cursor.next();
acc.get("scores");
for(int i=0;i<=acc.size();i++)
{
((BSONObject) acc.get(i)).containsField("score");
}
//System.out.println(acc);
}
我得到零点异常。 怎么了?
这是你必须要做的:
while(cursor.hasNext())
{
BasicDBObject acc=(BasicDBObject) cursor.next();
BasicDBList scores = (BasicDBList) acc.get("scores");
for(int i=0;i<scores.size();i++)
{
BasicDBObject score = (BasicDBObject) scores.get(i);
System.out.println(score.get("score"));
}
}
几点说明:
BasicDBObject
本身。 因此,您需要将其BasicDBList
为BasicDBList
。 否则你将不得不防止Cast Exceptions <
而不是<=
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.