こんにちは、たとえば次のような約200のドキュメントを含むコレクションがあります
"_id": 0,
"name": "Demarcus Audette",
"scores": [
{
"type": "exam",
"score": 30.61740640636871
},
{
"type": "quiz",
"score": 14.23233821353732
},
{
"type": "homework",
"score": 31.41421298576332
},
{
"type": "homework",
"score": 30.09304792394713
}
]
今私は次のようなコードを書きました
DBCursor cursor = collection.find().sort(new BasicDBObject("scores.score":1));
while( cursor.hasNext() )
{
DBobject obj=cursor.next();
BasicDBList list=(BasicDBList) Bobj.get("scores");
// ここで、スコア配列で構成されるドキュメントのリストを取得しています。その 3 番目の要素を削除して、コレクションを保存する必要があります....しかし、どうすればよいでしょうか?
forループのように使用する場合
for(int i=0;i<list.size();i++)
{
list.remove(2);------ it gives an error here
collection.save(obj);
}
}