問題代碼如下:
UserInfos.find({'problemList.practiceList.ulist.ulid':ulid},function(err,doc){
if(err)
console.log(err);
else{
if(doc){
console.log('********');
for(let i=0;i<doc.length;i++){
for(let j=0;j<doc[i].problemList.practiceList.ulist.length;j++){
if(doc[i].problemList.practiceList.ulist[j].ulid == ulid){//找到題集後,將題集的exist的值轉爲false
console.log(doc[i].problemList.practiceList.ulist[j]);
doc[i].problemList.practiceList.ulist[j].exist = false;
break;
}
}
};
doc.save((err)=>{
if(err){
console.log(err);
}
});
}
}
});
代碼的功能是爲了將每個對象標誌存在的字段exist設爲布爾值false,但運行出現的以下錯誤:
這裏出錯的原因應該是隻能保存對象(object),而不能保存數組的原因
UserInfos.find({'problemList.practiceList.ulist.ulid':ulid},function(err,doc){
if(err)
console.log(err);
else{
if(doc){
console.log('********');
for(let i=0;i<doc.length;i++){
for(let j=0;j<doc[i].problemList.practiceList.ulist.length;j++){
if(doc[i].problemList.practiceList.ulist[j].ulid == ulid){//找到題集後,將題集的exist的值轉爲false
console.log(doc[i].problemList.practiceList.ulist[j]);
doc[i].problemList.practiceList.ulist[j].exist = false;
doc[i].save((err)=>{
if(err){
console.log(err);
}
});
break;
}
}
};
}
}
});