Mongoose更新文檔失敗(更新數組中的多個文檔)

問題代碼如下:

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;
            }
          }
        };
      }
    }
  });

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章