0

こんにちは、たとえば次のような約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);
}
}
4

2 に答える 2