我的文件如下:
{ "_id" : 0,
"name" : "aimee Zank",
"scores" : [
{ "type" : "exam", "score" : 1.463179736705023 },
{ "type" : "quiz", "score" : 11.78273309957772 },
{ "type" : "homework", "score" : 6.676176060654615 },
{ "type" : "homework", "score" : 35.8740349954354 } ]
}
我使用的forEach
循环包含:
var lowHWScore = 1000;
var pullThisScore = 0;
// console.dir("This student has " + scoresArray.length +" scores.");
for(var i = 0;i < doc.scores.length; i++){
if (doc.scores[i].type === "homework"){
if(doc.scores[i].score < lowHWScore){
lowHWScore = doc.scores[i].score;
pullThisScore = i;
};
}
};
这个循环允许我识别该学生最低作业分数的索引。我现在想要删除最低的主分数 - 在forEach循环中我可以将其识别为doc.scores [pullThisScore]。
我可以让这个项目打印使用console.dir,但我可以使用语法帮助从score数组中删除对象。我试过了:
doc.update({}, {$pull : {scores[pullThisScore]});
但这似乎不起作用。有什么提示吗?