我正在使用以下javascript程序,该程序应该获得最低分并将其从集合中删除
var types=['exam','homework','quiz']
for (student_id = 0; student_id < 800; student_id++){
for(type = 0; type < 3; type++){
var r = {'student_id':student_id, 'type':types[type], 'minscore':{'$min':'$scores'}};
db.scores.remove(r);
}
}
我收到错误:
WriteResult({
"nRemoved" : 0,
"writeError" : {
"code" : 2,
"errmsg" : "unknown operator: $min"
}
答案 0 :(得分:3)
这是原始的mongo查询,可以满足您的需求。一行。
db.scores.find({'student_id':student_id, 'type':types[type]}).sort({scores: 1}).limit(1);
请记住确保所有查询字段都有索引,以便获得最佳速度。