学生データが入力された単純なコレクションがあり、いくつかのパラメーターに基づいていくつかのレコードを削除する必要があります。私はmongoshellから以下を実行しました
for(i=0;i<200;i++) {
var rec = db.grades.find({student_id:i,type:'homework'}).sort({score:1}).limit(1)
db.grades.remove(rec)
}
理想的には、すべてのstudent_idの宿題タイプの最低スコアを削除する必要があります。どうやら、findパラメーターの最後の2つのレコード(student_id:199)のみがパージされ、残りはまだ存在しています。
db.grades.find({student_id:10,type:'homework'}).sort({score:1}).limit(1)
{ "_id" : ObjectId("50906d7fa3c412bb040eb5a1"), "student_id" : 10, "type" : "homework", "score" : 6.094174990746648 }
JS / Mongoの不穏な性質のせいですか?同じことを解決するための他の選択肢は何ですか?