我有一个填充了学生数据的简单集合,我需要根据一些参数删除一些记录.我从mongo
shell执行了以下操作
原文链接:https://www.f2er.com/bash/383318.htmlfor(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_ids类型的家庭作业的最低分.显然,只有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的aysnchorous性质?解决这个问题的其他选择是什么?