问题代码如下:
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;
}
}
};
}
}
});